{"projects": [{"components": [{"description": "", "name": "API"}, {"description": "", "name": "Certificate Authority"}, {"description": "", "name": "CLI"}, {"description": "", "name": "DOCS"}, {"description": "", "name": "Dujour"}, {"description": "", "name": "File Sync"}, {"description": "", "name": "GUI"}, {"description": "", "name": "Performance"}, {"description": "", "name": "Puppet Server"}, {"description": "", "name": "security"}, {"description": "", "lead": "557058:8f2288c8-aafd-4043-8c36-5121d7f0a7df", "name": "UX"}], "description": "", "externalName": "Puppet Server (Archived)", "issues": [{"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["CLI", "Puppet Server"], "created": "2023-03-13T07:49:00.000000", "creator": "557058:877a41eb-34ba-43a3-8839-4d239938c3d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34d0192d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0m48h:"}], "description": "When using \u201callow-header-cert-info: true\u201d in auth.conf, without any other change, commands such as \u201cpuppetserver ca list\u201d stops working with a 403 Forbidden error:\n\nroot@puppet:/# puppetserver ca list\nError:\n    code: 403\n    body: Forbidden request: /puppet-ca/v1/certificate_statuses/any_key (method :get). Please see the server logs for details.\nError while getting certificate requests\n\n\n\nLogs extract:\n\n2023-03-13 08:58:29,760 ERROR [p.t.a.rules] Forbidden request: 172.20.0.2 access to /puppet-ca/v1/certificate_statuses/any_key (method :get) (authenticated: false) denied by rule 'puppetlabs cert status'.\n172.20.0.2 - - - 13/Mar/2023:08:58:29 +0000 \"GET /puppet-ca/v1/certificate_statuses/any_key?state=requested HTTP/1.1\" 403 116 172.20.0.2 172.20.0.2 8140 2", "environment": "Puppet through Docker (using the official image: puppet/puppetserver:7.9.2), no other particular config than just \u201callow-header-cert-info: true\u201d in auth.conf", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "63679", "fixedVersions": [], "id": "63679", "issueType": "Bug", "key": "SERVER-3269", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:877a41eb-34ba-43a3-8839-4d239938c3d5", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "13/Mar/23 7:49 AM", "summary": "Puppetserver CLI fails with 403 when allow-header-cert-info is set to true", "timeSpent": "PT0S", "updated": "2023-03-13T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:33: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@16145357"}, {"fieldName": "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-5104"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0m3vd:"}], "description": "Remove *SUSE Linux Enterprise Server 11 (x86-64)* from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove SUSE Linux Enterprise Server 11 (x86-64) FOSS support", "estimate": "PT0S", "externalId": "17545", "fixedVersions": [], "id": "17545", "issueType": "Task", "key": "SERVER-3268", "labels": ["os"], "originalEstimate": "PT0S", "parent": "58111", "parentSummary": "Remove SUSE Linux Enterprise Server 11 (x86-64) FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove SUSE Linux Enterprise Server 11 (x86-64) from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2023-03-09T15:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:31: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@74c5d36e"}, {"fieldName": "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-5092"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0m3oh:"}], "description": "Remove *SUSE Linux Enterprise Server 11 (i386)* from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove SUSE Linux Enterprise Server 11 (i386) FOSS support", "estimate": "PT0S", "externalId": "17266", "fixedVersions": [], "id": "17266", "issueType": "Task", "key": "SERVER-3267", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57742", "parentSummary": "Remove SUSE Linux Enterprise Server 11 (i386) FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove SUSE Linux Enterprise Server 11 (i386) from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2023-03-09T15:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:25: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@58a8ffe5"}, {"fieldName": "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-5080"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0m3hl:"}], "description": "Remove *Red Hat Enterprise Linux 7 (ppc64le)* from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Red Hat Enterprise Linux 7 (ppc64le) FOSS support", "estimate": "PT0S", "externalId": "16959", "fixedVersions": [], "id": "16959", "issueType": "Task", "key": "SERVER-3266", "labels": ["os"], "originalEstimate": "PT0S", "parent": "57330", "parentSummary": "Remove Red Hat Enterprise Linux 7 (ppc64le) FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Red Hat Enterprise Linux 7 (ppc64le) from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2023-03-09T15:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-03-09T15:20: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@6c858cac"}, {"fieldName": "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-5068"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0m3ap:"}], "description": "Remove *Windows Server 2008R2* from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Windows Server 2008R2 FOSS support", "estimate": "PT0S", "externalId": "16667", "fixedVersions": [], "id": "16667", "issueType": "Task", "key": "SERVER-3265", "labels": ["os"], "originalEstimate": "PT0S", "parent": "56790", "parentSummary": "Remove Windows Server 2008R2 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a1beb0b007eb21a79e5d6de", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Windows Server 2008R2 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2023-03-09T15:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-28T13:29: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@583ff480"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lzzd:"}], "description": "The recent bump to JRuby 9.4 in puppetserver 7.x dropped some gems that used to be present for extensions running in a server context:\n\nIn released puppetserver 7.9.5:\n\n{noformat}\n[root@regional-beacon ~]# rpm -qa | grep puppet\npuppet7-release-7.0.0-11.el7.noarch\npuppet-agent-7.23.0-1.el7.x86_64\npuppetserver-7.9.5-1.el7.noarch\n[root@regional-beacon ~]# puppetserver ruby -e \"puts require 'net/http'\"\ntrue\n[root@regional-beacon ~]# puppetserver ruby -e \"puts require 'net/ftp'\"\ntrue\n{noformat}\n\nIn nightly puppet7 puppetserver:\n\n{noformat}\n[root@neutral-waiting ~]# rpm -qa | grep puppet\npuppetserver-7.9.6-0.1SNAPSHOT.2023.02.20T1912.el7.noarch\npuppet7-release-7.0.0-11.el7.noarch\npuppet-agent-7.23.0-1.el7.x86_64\n[root@neutral-waiting ~]# puppetserver ruby -e \"puts require 'net/ftp'\"\nLoadError: no such file to load -- net/ftp\n  require at org/jruby/RubyKernel.java:1057\n  require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:85\n   <main> at -e:1\n... 4 levels...\n{noformat}\n\nWe ran into this because the puppet_agent module uses the puppetlabs-apt module, which attempts to `require 'net/ftp'` in the custom type that is loaded in JRuby. The module should be fixed (https://github.com/puppetlabs/puppetlabs-apt/pull/1050#issuecomment-1448629369) but it raises the issue that some gems are missing.\n\nManually adding the gem seems to work:\n\n{noformat}\n[root@neutral-waiting ~]# /opt/puppetlabs/server/bin/puppetserver gem install net-ftp\nFetching net-ftp-0.2.0.gem\nSuccessfully installed net-ftp-0.2.0\nParsing documentation for net-ftp-0.2.0\nInstalling ri documentation for net-ftp-0.2.0\nDone installing documentation for net-ftp after 1 seconds\n1 gem installed\n[root@neutral-waiting ~]# puppetserver ruby -e \"puts require 'net/ftp'\"\ntrue\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15197", "fixedVersions": [], "id": "15197", "issueType": "Task", "key": "SERVER-3264", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRuby 9.4 bump dropped some gems", "timeSpent": "PT0S", "updated": "2023-02-28T13:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Hrm. This indicates that the settings overrides aren't being set properly and when it invokes {{Puppet.initialize_settings}}, it thinks that it's running as a non-root user with defaults.\n\nhttps://github.com/puppetlabs/dropsonde/blob/2f9abfcccd7982c17e8baf3e248c944f71f0d562/lib/dropsonde.rb#L18-L43", "created": "2023-03-03T16:54:00.000000"}], "components": ["Puppet Server"], "created": "2023-02-28T13:06:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1df3823f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lzz5:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/23"}], "description": "*Puppet Version:* 7.23.0\n*Puppet Server Version:* 7.9.5\n*OS Name/Version:* Debian Bullseye 11.6\n\n*Desired Behavior:*\nStarting puppetserver from a fresh install does not cause a stacktrace related to Dropsonde being unable to write to a directory.\n\n*Actual Behavior:*\nOn a fresh Debian Bullseye install with Puppetserver 7.9.5 from the apt.puppet.com repos, starting Puppetserver with {{systemctl start puppetserver}} shows the following stack trace:\n{noformat}2023-02-28T18:49:36.334Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'status-service', version 1.1.1\n2023-02-28T18:49:36.334Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2023-02-28T18:49:36.347Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@3309119c{/status,null,AVAILABLE}\n2023-02-28T18:49:36.361Z INFO  [async-dispatch-2] [p.s.a.analytics-service] Puppet Server Update Service has successfully started and will run in the background\n2023-02-28T18:49:36.378Z INFO  [async-dispatch-2] [p.s.m.master-service] Puppet Server has successfully started and is now ready to handle requests\n2023-02-28T18:49:37.383Z WARN  [1b147094-178f-4454-bd9d-d5edb74e0d41_Worker-4] [c.p.p.ShellUtils] Executed an external process which logged to STDERR: /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:250:in `mkdir': Permission denied @ dir_s_mkdir - /opt/puppetlabs/server/data/puppetserver/dropsonde/.puppetlabs (Errno::EACCES)\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:250:in `fu_mkdir'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:228:in `block (2 levels) in mkdir_p'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:226:in `reverse_each'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:226:in `block in mkdir_p'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:211:in `each'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:211:in `mkdir_p'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:409:in `create_ancestors'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:394:in `block in initialize_app_defaults'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:393:in `each'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:393:in `initialize_app_defaults'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet.rb:176:in `do_initialize_settings_for_run_mode'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet.rb:149:in `initialize_settings'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/lib/dropsonde.rb:43:in `<class:Dropsonde>'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/lib/dropsonde.rb:12:in `<top (required)>'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/bin/dropsonde:3:in `<top (required)>'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/bin/dropsonde:25:in `load'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/bin/dropsonde:25:in `<main>'\n\n2023-02-28T18:49:37.401Z WARN  [1b147094-178f-4454-bd9d-d5edb74e0d41_Worker-4] [p.s.a.dropsonde] Failed to submit module metrics via Dropsonde. Error: /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:250:in `mkdir': Permission denied @ dir_s_mkdir - /opt/puppetlabs/server/data/puppetserver/dropsonde/.puppetlabs (E\nrrno::EACCES)\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:250:in `fu_mkdir'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:228:in `block (2 levels) in mkdir_p'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:226:in `reverse_each'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:226:in `block in mkdir_p'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:211:in `each'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/fileutils.rb:211:in `mkdir_p'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:409:in `create_ancestors'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:394:in `block in initialize_app_defaults'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:393:in `each'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet/settings.rb:393:in `initialize_app_defaults'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet.rb:176:in `do_initialize_settings_for_run_mode'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/puppet-7.22.0/lib/puppet.rb:149:in `initialize_settings'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/lib/dropsonde.rb:43:in `<class:Dropsonde>'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/lib/dropsonde.rb:12:in `<top (required)>'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'\n        from /opt/puppetlabs/puppet/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/gems/dropsonde-0.0.8/bin/dropsonde:3:in `<top (required)>'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/bin/dropsonde:25:in `load'\n        from /opt/puppetlabs/server/data/puppetserver/dropsonde/bin/dropsonde:25:in `<main>'\n{noformat}\n{*}Recreation{*}:\n\nHere's a recreation using a simple Dockerfile based on {{debian::11}} (this assumes you have Docker running locally and are using bash/zsh):\n{code}mkdir dropsonde_error_recreation\ncd dropsonde_error_recreation\ncat << EOF > Dockerfile\nFROM debian:11\nADD http://apt.puppet.com/puppet7-release-bullseye.deb /root/\nRUN dpkg -i /root/*.deb \\\n    && apt-get update \\\n    && apt-get -y install --no-install-recommends puppetserver=7.9.5-*\n\nUSER puppet:puppet\nCMD [\"/opt/puppetlabs/server/bin/puppetserver\", \"foreground\"]\nEOF\n\ndocker run -it $(docker build -q .)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14873", "fixedVersions": [], "id": "14873", "issueType": "Bug", "key": "SERVER-3263", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Dropsonde causes stack trace when starting Puppetserver (7.9.5)", "timeSpent": "PT0S", "updated": "2023-03-03T16:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-27T09:36:00.000000", "creator": "640c28310a4a47fb8d2628c6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a6ff90f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lz8p:"}], "description": "*Puppet Version:*\u00a05.5.22\n\n*Puppet Server Version:*\u00a0puppetserver version: 5.3.9\n\n*OS Name/Version:*\u00a0\n\nPRETTY_NAME=\"Debian GNU/Linux 11 (bullseye)\"\n\nNAME=\"Debian GNU/Linux\"\n\nVERSION_ID=\"11\"\n\nVERSION=\"11 (bullseye)\"\n\nVERSION_CODENAME=bullseye\n\nID=debian\n\nDescribe your issue in as much detail as possible\u2026\ni was renewing a ssl cert for foreman and the procedure has a step of stop puppetserver , rm ssl directory and starting puppetserver\nhowver i did rm ssl directory first and than stop and start puppetserver\nit didnt regenrated and updated the ssl directory\nso i regenerated SSL directory using puppetserver ca setup command\nand moved to /etc/puppetlabs/puppet\nand chown to puppet\n\nDescribe steps to reproduce\u2026\n\n*Desired Behavior:* the puppetserver should be active\n\n*Actual Behavior:*\n\n\u00a0puppetserver.service - puppetserver Service\n\n\u00a0\u00a0 \u00a0 Loaded: loaded (/lib/systemd/system/puppetserver.service; enabled; vendor preset: enabled)\n\n\u00a0\u00a0 \u00a0 Active: activating (start) since Mon 2023-02-27 16:16:27 UTC; 17s ago\n\nCntrl PID: 3559503 (bash)\n\n\u00a0 \u00a0 \u00a0 Tasks: 60 (limit: 4915)\n\n\u00a0\u00a0 \u00a0 Memory: 1.1G\n\n\u00a0 \u00a0 \u00a0 \u00a0 CPU: 1min 40.397s\n\n\u00a0\u00a0 \u00a0 CGroup: /system.slice/puppetserver.service\n\n\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u251c\u25003559503 bash /opt/puppetlabs/server/apps/puppetserver/cli/apps/start\n\n\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u251c\u25003559510 /usr/bin/java -Djava.net.preferIPv4Stack=true -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Djava.security.egd=file:/dev/urandom -XX:OnOutOfMemoryError=kil>\n\n\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2514\u25003559617 sleep 1\n\n\u00a0\n\nFeb 27 16:16:27 foreman systemd[1]: Starting puppetserver Service...\n\n\u00a0\n\nthe error is puppet server.log says as below\n\n\u00a0\n2023-02-24 13:54:50,661 ERROR [async-dispatch-2] [p.t.internal] Error during service init!!!\nclojure.lang.ExceptionInfo: throw+: \\{:kind :puppetlabs.kitchensink.core/io-error, :msg \"Parent directory '/etc/puppetlabs/puppet/ssl/ca' is not writable\"}\n\n\nhowever I have made the ca writable\n\nsudo ls -la\n\ntotal 36\n\ndrwxrwx--x 8 puppet puppet 4096 Feb 21 09:28 .\n\ndrwxr-xr-x 3 puppet puppet 4096 Feb 17 14:53 ..\n\ndrwxrwx--- 4 puppet puppet 4096 Feb 27 13:36 ca\n\ndrwxr-xr-x 2 puppet puppet 4096 Feb 21 09:28 certificate_requests\n\ndrwxr-xr-x 2 puppet puppet 4096 Feb 17 14:46 certs\n\n-rw-r--r-- 1 puppet puppet 1942 Feb 17 14:46 crl.pem\n\ndrwxr-x--- 2 puppet puppet 4096 Feb 21 09:28 private\n\ndrwxr-x--- 2 puppet puppet 4096 Feb 17 14:46 private_keys\n\ndrwxr-xr-x 2 puppet puppet 4096 Feb 17 14:46 public_keys\n\n\u00a0\n\n\u00a0\n\nsudo /opt/puppetlabs/puppet/bin/puppet agent -t\n\n*Warning: Unable to fetch my node definition, but the agent run will continue:*\n\n*Warning: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\nInfo: Retrieving pluginfacts\n\n*Error: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\n*Error: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\nInfo: Retrieving plugin\n\n*Error: /File[/opt/puppetlabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\n*Error: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\nInfo: Loading facts\n\n*Error: Could not retrieve catalog from remote server: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\n*Warning: Not using cache on failed catalog*\n\n*Error: Could not retrieve catalog; skipping run*\n\n*Error: Could not send report: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)*\n\n\u00a0\n\nso please suggest how can I proceed further\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16118", "fixedVersions": [], "id": "16118", "issueType": "Improvement", "key": "SERVER-3262", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "640c28310a4a47fb8d2628c6", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet server is not coming up  ", "timeSpent": "PT0S", "updated": "2023-02-28T07:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-24T05:55:00.000000", "creator": "640c2a04c6e77744a1e17cee", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21ff811c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lyxd:"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17544", "fixedVersions": [], "id": "17544", "issueType": "Bug", "key": "SERVER-3261", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "640c2a04c6e77744a1e17cee", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "When I try to start the puppet server for the first time it gives me the following error: warning: abs already refers to: #'clojure.core/abs in namespace>", "timeSpent": "PT0S", "updated": "2023-02-24T05:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-21T16:50: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@652197e9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lydt:"}], "description": "The maintainers of Puppet Server are the primary maintainers of Puppet's full_catalog benchmark as running it is a useful sanity check on JRuby upgrades.\n\nHowever, the code within it is years old and only functions using years old modules that are barely compatible with newer versions of Puppet, Facter, and Ruby. After Puppet 8 is released  We should update the dependency modules and perf_control module for Puppet 8 & Ruby 3.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15885", "fixedVersions": [], "id": "15885", "issueType": "Task", "key": "SERVER-3260", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update Puppet's full_catalog benchmark", "timeSpent": "PT0S", "updated": "2023-02-21T16:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2023-02-13T16:47: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@5edd7485"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lwnt:"}], "description": "When upgrading to JRuby 9.4.1 the new Psych gem (5.1) would not work. It could not find a necessary file that should be installed when the gem is installed. Because Psych is installed as part of the jruby-stdlib process it seems that loading the jar itself is the problem.\n\nTo reproduce run {{{}puppetserver{}}}/{{{}lein gem install psych -v 5.1{}}}. After installation run {{puppetserver}}/{{lein irb}} and attempt to use the Psych gem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15514", "fixedVersions": [], "id": "15514", "issueType": "Bug", "key": "SERVER-3259", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Cannot load jars installed by gems", "timeSpent": "PT0S", "updated": "2023-02-13T16:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-09T03:26: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@909f8cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lw21:"}], "description": "Hi!\nsome background information. I'm a PE consultant and upgraded a PE 2019 environment for a customer with roughly 45 environments and 150 to 180 modules per environment. The recent PE change to exclude spec files from code-manager improved deployments a bit, but it heavily improved pe-backup (from 11 hours down to just a few).\n\nFrom https://www.puppet.com/blog/code-manager>\n> Delete spec dir when deploying modules. When deploying from a Git repository, we previously deployed it exactly as and now we skip deploying the spec directory. This matches the behavior of Forge modules because those do not include the spec directory when they are posted to the Forge in the first place. Since spec directories can be quite large, this reduces the time to deploy modules.\n\n\nNow another point of view. I'm also a Vox Pupuli member and we maintain a central .pmtignore file. That file is similar to a .gitignore file and exludes files from being put into a puppet module. We had a recent conversation about making this more strict:\nhttps://github.com/voxpupuli/modulesync_config/pull/791\n\nAnd the important thing: To reverse the logic and only allow files that the puppet module format allows:\nhttps://github.com/voxpupuli/modulesync_config/pull/791#issuecomment-1219793640\n> What about going a step further and ignoring everything by default and then negating only a few select filetypes/paths? E.g.\n* !/manifests/**/*.pp\n* !/lib/**/*.rb, !/files/**\n* !/templates/**/*.erb\n* !/templates/**/*.epp\n* !/metadata.json\n\n\nI think we should do that. this will trim down the amount of not required files even more and in turn will speed up code deploys and impact filesync/code-manager performance.\n\nWhy do I raise the ticket? I had a discussion with [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] at configuration management yesterday. I think r10k/codemanager should have the same pattern to exclude not required files. The Vox Pupuli approach is good to reduce the module size and reduce the requirest disk space for forge.puppet.com, but that only applies to Vox Pupuli and people that use our tooling. I think r10k/code-manager should adopt this as well to modules from other namespaces or older releases benefit from it as well.\n\nAnd side question: Is the puppet module spec somewhere available? I would like to know what's actually allowed/required within a module. And while the REFERENCE.md isn't required, I think the forge will use that if available? (and not rerender it on the file)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15271", "fixedVersions": [], "id": "15271", "issueType": "Task", "key": "SERVER-3258", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Code deploy/r10k: only deploy code that matches an allow list", "timeSpent": "PT0S", "updated": "2023-02-09T03:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2023-02-07T15:07:00.000000", "creator": "623c130a562ab90069f8b377", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46231833"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lvp5:"}], "description": "{*}Puppet Version: {color:#000000}7.21.0{color}\n{*}{{*}}Puppet Server Version: 7.9.3\\{*}\n*OS Name/Version: Alma 8.7*\n{code:java}WARNING: An illegal reflective access operation has occurred\nWARNING: Illegal reflective access by dynapath.default <..>\n<..>\nOutput of initialize-config does not match schema:  \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{:gem-home missing-required-key}{code}\nchmod 0640 {color:#000000}{{/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf}} was the problem{color}\n\n*Desired Behavior:*\n\nUseful error message\n\n*Actual Behavior:*\n\nCryptic error message that led me down several rabbit trails before the file perm issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17543", "fixedVersions": [], "id": "17543", "issueType": "Bug", "key": "SERVER-3257", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c130a562ab90069f8b377", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Opaque message in server log", "timeSpent": "PT0S", "updated": "2023-02-07T15:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623a4744a95758006959fe55", "body": "It was determined that {{fips_mode}} being enabled was the root cause of the breakage:\n\n\u00a0{code:java}\n[root@jhoblitt-test4 ~]# cat /proc/sys/crypto/fips_enabled\u00a0\n0\n[root@jhoblitt-test4 ~]# /opt/puppetlabs/bin/puppetserver gem sources\n*** CURRENT SOURCES ***\n\nhttps://rubygems.org/\n[root@jhoblitt-test4 ~]# /opt/puppetlabs/bin/puppetserver gem install --no-document toml-rb\nSuccessfully installed toml-rb-2.2.0\n1 gem installed\n[root@jhoblitt-test4\n{code}\n", "created": "2023-02-03T15:36:00.000000"}], "components": ["Puppet Server"], "created": "2023-02-03T15:09:00.000000", "creator": "623a4744a95758006959fe55", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fa91bff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lsvl:"}], "description": "*Puppet Version:*\n*Puppet Server Version: 7.9.3*\n*OS Name/Version: AlmaLinux release 8.7 (Stone Smilodon)*\n\n<newly provisioned Almalinux 8.7 VM for puppetserver testing>\n{code:java}\n[root@jhoblitt-test4 ~]# /opt/puppetlabs/bin/puppetserver gem install bundler --no-document\nERROR: \u00a0Could not find a valid gem 'bundler' (>= 0), here is why:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Unable to download data from https://rubygems.org/ - SSL SSLContext not available (https://rubygems.org/specs.4.8.gz)\n {code}\n*Desired Behavior:* gem installation works{*}{*}\n\n*Actual Behavior:* gem installation fails\n\nA horrible, horrible, work around:\n\n\u00a0\n{code:java}\n[root@jhoblitt-test4 ~]# /opt/puppetlabs/bin/puppetserver gem sources -a http://rubygems.org/\nhttps://rubygems.org is recommended for security over http://rubygems.org/Do you want to add this insecure source? [yn] \u00a0y\nhttp://rubygems.org/ added to sources\n[root@jhoblitt-test4 ~]# /opt/puppetlabs/bin/puppetserver gem sources -r https://rubygems.org/\nhttps://rubygems.org/ removed from sources {code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14872", "fixedVersions": [], "id": "14872", "issueType": "Bug", "key": "SERVER-3256", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4744a95758006959fe55", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "unable to install puppetserver gems due to TLS error", "timeSpent": "PT0S", "updated": "2023-02-03T15:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-02-01T09:07: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@7a6537d3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lsld:"}], "description": "Hi,\nI checked through https://github.com/puppetlabs/puppetserver/blob/main/resources/ext/build-scripts/jruby-gem-list.txt and noticed that the deep_merge version is very very old. 1.0.1 is from 2014. Is there a reason for this or could it be updated? The recent releases contain a few bug fixes and enhancements.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16958", "fixedVersions": [], "id": "16958", "issueType": "Task", "key": "SERVER-3255", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update vendored gems", "timeSpent": "PT0S", "updated": "2023-02-01T09:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6220dc0ab7e7c70071572d08", "attachments": [], "comments": [{"author": "6220dc0ab7e7c70071572d08", "body": "All tickets under epic are now Closed/Resolved, closed epic and this ticket.", "created": "2023-02-28T11:42:00.000000"}], "components": [], "created": "2023-01-31T14:03:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cec47f4"}, {"fieldName": "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-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lsix:"}, {"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/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_705234768_*|*_3_*:*_1_*:*_593399012_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1112025005"}], "description": "(Initial planned release date: 2023-02-07)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.5\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2023-02-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "15270", "fixedVersions": [], "id": "15270", "issueType": "Task", "key": "SERVER-3254", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-28T11:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-28T11:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6220dc0ab7e7c70071572d08", "attachments": [], "comments": [{"author": "6220dc0ab7e7c70071572d08", "body": "Not destined for PE release, closing.", "created": "2023-02-06T11:21:00.000000"}], "components": [], "created": "2023-01-31T14:03:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@62d032da"}, {"fieldName": "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-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lsip:"}, {"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/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_508703886_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2023-02-07)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "14871", "fixedVersions": [], "id": "14871", "issueType": "Task", "key": "SERVER-3253", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2023-02-06T11:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-06T11:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2023-01-31T14:03:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65a1ab9c"}, {"fieldName": "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-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lsih:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1976039973_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2023-02-07)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.9.5\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.5\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2023-02-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "17542", "fixedVersions": [], "id": "17542", "issueType": "Task", "key": "SERVER-3252", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2023-02-23T10:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-23T10:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "6220dc0ab7e7c70071572d08", "attachments": [], "comments": [{"author": "6220dc0ab7e7c70071572d08", "body": "Steps were followed, pipelines run, [https://jenkins-platform.delivery.puppetlabs.net/view/puppetserver/view/7.x/] looks good.", "created": "2023-02-07T16:09:00.000000"}], "components": [], "created": "2023-01-31T14:03:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b0158be"}, {"fieldName": "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-11740"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lsi9:"}, {"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/Feb/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_255866420_*|*_3_*:*_1_*:*_268714629_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_87784076"}], "description": "(Initial planned release date: 2023-02-07)\n\nPrepare release artifacts:\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified, e.g.\n  {{ruby ../ticketmatch/ticketmatch.rb -f <previous puppetserver version> -t <head of relevant puppetserver branch> -p SERVER -v \"SERVER 7.9.5\"}}\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch. If there is another planned puppetserver release before the next PE release, skip this step.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/90e97292651ca6fd3ce0af8e87a9c104b7c649f5\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main. You should not need to adjust any of the default parameters.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.9.5 is built and ready for testing.\n** Close this ticket once puppetserver 7.9.5 has promoted into pe-puppet-server-extensions and that version of pe-puppet-server-extensions has promoted into PE.\n", "duedate": "2023-02-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "estimate": "PT0S", "externalId": "17264", "fixedVersions": [], "id": "17264", "issueType": "Task", "key": "SERVER-3251", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26768", "parentSummary": "Puppet Platform 7.23.0 Release - 2023-02-07", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2023-02-07T16:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.23.0)", "timeSpent": "PT0S", "updated": "2023-02-07T16:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2023-01-30T12:02: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@60924a0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3fk:i0090bv1w0009"}], "description": "For orchestrator we use kondo and eastwood for clojure code and rubocop for ruby code. Introduce these linters into the puppetserver repo (see orchestrator github actions for reference).\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15269", "fixedVersions": [], "id": "15269", "issueType": "Task", "key": "SERVER-3246", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Introduce linters to puppetserver CI", "timeSpent": "PT0S", "updated": "2023-03-10T15:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-16T16:43: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@4097b6c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0lk49:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_243907_*|*_6_*:*_1_*:*_0"}], "description": "In Puppet 8 we will ship Ruby 3.2. In that version some deprecated functions have been removed (like {{{}File.exists?{}}}) and the OpenSSL interface has changed slightly with the move from OpenSSL 1.x to OpenSSL 3.x.\n\nWe should update puppetserver-ca-cli#main to be compatible with both Puppet 7 & Puppet 8, because we want to ship some features later around CA management that will need to go into both streams.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15266", "fixedVersions": [], "id": "15266", "issueType": "Task", "key": "SERVER-3245", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Duplicate", "resolutionDate": "2023-01-16T16:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver-ca cli for 3.2", "timeSpent": "PT0S", "updated": "2023-01-16T16:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2023-01-12T21:31: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@589986d0"}, {"fieldName": "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": "SERVER-3165"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0ljhl:"}, {"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_*:*_270469_*|*_10007_*:*_1_*:*_88718190_*|*_3_*:*_1_*:*_270133074_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_61901541"}], "description": "In Puppet 8 we will ship Ruby 3.2. In that version some deprecated functions have been removed (like {{{}File.exists?{}}}) and the OpenSSL interface has changed slightly with the move from OpenSSL 1.x to OpenSSL 3.x.\n\neg, File.exists? doesn't exist so we get this when trying to start puppetserver in beaker tests:\n{noformat}  * Start puppetserver\n    \n    lewd-expectancy.delivery.puppetlabs.net (lewd-expectancy.delivery.puppetlabs.net) 04:00:39$ puppetserver ca setup\n      /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-2.3.6/lib/puppetserver/ca/host.rb:66:in `create_private_key': undefined method `exists?' for File:Class (NoMethodError)\n      \n              if File.exists?(private_path) && File.exists?(public_path)\n                     ^^^^^^^^\n      Did you mean?  exist?\n      \tfrom /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-2.3.6/lib/puppetserver/ca/local_certificate_authority.rb:210:in `create_root_cert'\n      \tfrom /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-2.3.6/lib/puppetserver/ca/action/setup.rb:78:in `generate_pki'\n      \tfrom /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-2.3.6/lib/puppetserver/ca/action/setup.rb:68:in `run'\n      \tfrom /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-2.3.6/lib/puppetserver/ca/cli.rb:100:in `run'\n      \tfrom /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n{noformat}\nWe should update puppetserver-ca-cli#main to be compatible with both Puppet 7 & Puppet 8, because we want to ship some features later around CA management that will need to go into both streams.\n\n\u00a0", "epicLinkSummary": "Puppet Server 8", "estimate": "PT0S", "externalId": "15513", "fixedVersions": ["SERVER 7.9.4"], "id": "15513", "issueType": "Bug", "key": "SERVER-3244", "labels": [], "originalEstimate": "PT0S", "parent": "16890", "parentSummary": "Puppet Server 8", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2023-01-17T18:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver-ca-cli for Ruby 3.2", "timeSpent": "PT0S", "updated": "2023-01-19T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "ping. Some of our PE customers are also interested in this (especially since EL8 got dropped in the PE 2023 release). Are the any estimate for puppetserver packages for EL9?", "created": "2023-01-25T03:45:00.000000"}, {"author": "61bbace0755091006a2b896a", "body": "I would like to ask to maybe extent the ticket. would it be possible to not only target RHEL9 but also CentOS 9 Streams?\n\nI mentioning this because they are not the exact same anymore. And I saw Puppet dropping support for CentOS 8 but not adding support for 8 Streams (yet ?).", "created": "2023-01-25T04:12:00.000000"}], "components": [], "created": "2023-01-05T12:16:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f67ff7f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0ldk9:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jan/23"}], "description": "Is there an ETA for packaged versions of puppetserver for RHEL9?\u00a0 The RHEL 9 platform has been out for a while...", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16957", "fixedVersions": [], "id": "16957", "issueType": "Improvement", "key": "SERVER-3239", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "RHEL9 packages for puppetserver", "timeSpent": "PT0S", "updated": "2023-02-14T11:15:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2022-12-22T05:14:00.000000", "creator": "623c1716ee1b5a007029387a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49634188"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0lan5:"}], "description": "*Puppet Version: 7.9.3*\n*Puppet Server Version:*\u00a0{*}7.9.3{*}{*}{{*}}\n*OS Name/Version: CentOS 7.9.2009*\n\nI've added another level of Hiera with multiple eyaml encrypted assets which I used well \u00a0in Puppet Server 5.x to setup my environment.\n\nThe data I've added is 11MB:\n\n\u00a0\n{code:java}[root@puppetserver11 ~]# ls -la /etc/puppetlabs/code/environments/assets_master/hieradata/data.eyaml\n\u00a0-rw-r--r-- 1 root root 11455420 Dec 22 10:21 /etc/puppetlabs/code/environments/assets_master/hieradata/data.eyaml\n{code}\n\u00a0\n\nAdded into hiera.yaml of production environment:\n\n\u00a0\n{code:java}\u00a0 - name: assets\n\u00a0 \u00a0 lookup_key: eyaml_lookup_key\n\u00a0 \u00a0 options:\n\u00a0 \u00a0 \u00a0 pkcs7_private_key: '/etc/puppetlabs/puppet/keys/private_key.pkcs7.pem'\n\u00a0 \u00a0 \u00a0 pkcs7_public_key: '/etc/puppetlabs/puppet/keys/public_key.pkcs7.pem'\n\u00a0 \u00a0 path: \"/etc/puppetlabs/code/environments/assets_master/hieradata/data.eyaml\"\n{code}\nWhen I've added it Puppetserver failed to compile catalogue.\n\n\u00a0\n\n*Desired Behavior:*\u00a0\n\nRun puppet agent on puppet server without errors.\n\n\u00a0\n\nJust to notice. \u00a0This error is caused by changes into project SnakeYAML, introduced here\n\n[https://bitbucket.org/snakeyaml/snakeyaml/commits/72dfa9f1074abe2b8a6c8776bee4476b0aed02e3#Lsrc/main/java/org/yaml/snakeyaml/LoaderOptions.javaT26]\n\nAnd finalised here\n\n[https://bitbucket.org/snakeyaml/snakeyaml/commits/440d98e2ebd586aafd9034fc74a2a47c656eb0ce#Lsrc/main/java/org/yaml/snakeyaml/LoaderOptions.javaT26]\n\nThese changes have been introduced in SnakeYAML v1.32 which in use by latest Puppet server version (I guess so - but not sure for 100%)\n\n\u00a0\n\n*So my expectation here is to introduce some puppet server configuration option where I can set desired Maximum YAML file size and propagate \u00a0this setting into YAML driver*\n\nIf it is possible to downgrade SnakeYAML to v1.31 in runtime (eg to place JAR file into some specific location) - it would be also great. If you have such ability - please share it with me\n\n\u00a0\n\n*Actual Behavior:*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n{code:java}[root@puppetserver11 ~]# /opt/puppetlabs/bin/puppet agent --test\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unable to parse The incoming YAML document exceeds the limit: 3145728 code points. on node puppetserver11.company.tld\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run{code}\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\n\u00a0\n{code:java}2022-12-22T00:20:10.951-05:00 ERROR [qtp716057564-57] [puppetserver] Puppet Unable to parse The incoming YAML document exceeds the limit: 3145728 code points.\n2022-12-22T00:20:10.951-05:00 ERROR [qtp716057564-57] [puppetserver] Puppet Unable to parse The incoming YAML document exceeds the limit: 3145728 code points. on node puppetmaster11.carrierzone.com\n2022-12-22T00:20:10.952-05:00 DEBUG [qtp716057564-57] [puppetserver] Puppet Found in cache :build_live (ttl = 0 sec)\n2022-12-22T00:20:10.952-05:00 ERROR [qtp716057564-57] [puppetserver] Puppet Server Error: Unable to parse The incoming YAML document exceeds the limit: 3145728 code points. on node puppetmaster11.carrierzone.com\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/eyaml_lookup_key.rb:60:in `block in load_data_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/context.rb:52:in `cached_file_data'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/context.rb:110:in `cached_file_data'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/eyaml_lookup_key.rb:47:in `load_data_hash'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/eyaml_lookup_key.rb:38:in `eyaml_lookup_key'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:47:in `block in dispatch'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:46:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:53:in `block in lookup_key'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:50:in `lookup_key'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:31:in `block in invoke_with_location'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:140:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:30:in `invoke_with_location'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:20:in `block in unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/merge_strategy.rb:126:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:19:in `block in unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:140:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_key_function_provider.rb:18:in `unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/configured_data_provider.rb:56:in `block in unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/merge_strategy.rb:132:in `block in lookup'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/merge_strategy.rb:131:in `block in lookup'\norg/jruby/RubyArray.java:1865:in `each'\norg/jruby/RubyEnumerable.java:1024:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/merge_strategy.rb:129:in `block in lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:140:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/merge_strategy.rb:128:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/configured_data_provider.rb:55:in `block in unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:140:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/configured_data_provider.rb:48:in `unchecked_key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/data_provider.rb:26:in `block in key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:97:in `check'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/data_provider.rb:26:in `key_lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:157:in `lookup_in_environment'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:384:in `block in env_lookup_options'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:384:in `env_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:348:in `block in retrieve_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:140:in `with'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:344:in `block in retrieve_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:82:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:343:in `retrieve_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:237:in `lookup_lookup_options'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:64:in `block in lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/invocation.rb:82:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup/lookup_adapter.rb:59:in `lookup'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/lookup.rb:76:in `search_and_merge'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:266:in `block in inject_external_parameters'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:265:in `block in inject_external_parameters'\norg/jruby/RubyHash.java:1519:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:261:in `inject_external_parameters'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:228:in `set_resource_parameters'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:69:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\norg/jruby/RubyArray.java:1865:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:47:in `block in dispatch'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:46:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1865:in `each'\norg/jruby/RubyEnumerable.java:1024:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block in evaluate'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\norg/jruby/RubyArray.java:1865:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:47:in `block in dispatch'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:46:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1237:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1058:in `block in eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:985:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1056:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1865:in `each'\norg/jruby/RubyEnumerable.java:1024:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:756:in `eval_Program'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate' {code}\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n{code:java}\u00a0 - name: assets\n\u00a0 \u00a0 lookup_key: eyaml_lookup_key\n\u00a0 \u00a0 options:\n\u00a0 \u00a0 \u00a0 pkcs7_private_key: '/etc/puppetlabs/puppet/keys/private_key.pkcs7.pem'\n\u00a0 \u00a0 \u00a0 pkcs7_public_key: '/etc/puppetlabs/puppet/keys/public_key.pkcs7.pem'\n\u00a0 \u00a0 path: \"/etc/puppetlabs/code/environments/assets_master/hieradata/data.eyaml\" {code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14870", "fixedVersions": [], "id": "14870", "issueType": "Bug", "key": "SERVER-3238", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1716ee1b5a007029387a", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Error when Hiera YAML file is greater  then 3MB", "timeSpent": "PT0S", "updated": "2022-12-22T05:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "63d2e04a8c3018ca8a1c57c2", "created": "2022-11-21T07:39:00.000000", "name": "Dockerfile", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11252"}], "comments": [], "components": ["Puppet Server"], "created": "2022-11-21T07:39:00.000000", "creator": "63d2e04a8c3018ca8a1c57c2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@245a07e0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0kyeh:"}], "description": "I would like to use the puppetserver within docker on an arm64. Therefore I adapted the Dockerfile from puppetserver to be able to build an arm64 image.\n\nSince the build for the edge image is a little bit trickier without an dev environment, I skipped this part and build only the release version.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17541", "fixedVersions": [], "id": "17541", "issueType": "New Feature", "key": "SERVER-3237", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e04a8c3018ca8a1c57c2", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Docker image for arm64", "timeSpent": "PT0S", "updated": "2022-11-21T07:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-11-21T07:10:00.000000", "name": "ls.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11174"}], "comments": [], "components": [], "created": "2022-11-21T07:11: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@dda1af9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0kye9:"}], "description": "*Puppet Version:* 7.20.0 / 6.28.0\n*Puppet Server Version:* Puppserver 2021.7.1.10 / 2019.8.12.30\n*OS Name/Version:* RHEL 7\n\nWhile looking for large directories, I noticed that /opt/puppetlabs/server/apps/puppetserver/tmp/ on one primary contains ~7.5GB of data. pe-puppetserver is running since 4 days, most files are way older. I'm not sure what's the purpose of the files, but the directory path contains tmp, so I guess it's a temp dir and could/should be cleaned up, at least during process restarts?\n\n*Desired Behavior:*\n\ncleaned up tmp directory after pe-puppetserver shutdown/restart\n\n*Actual Behavior:*\n\ngrowing tmp directory\n\nI do not know how to reproduce/trigger this. I see the behaviour on our production PE 2019 setup, but also in the PE 2021 test environment. It happens on primary and compiler servers. Every JVM is started with -Djava.io.tmpdir=/opt/puppetlabs/server/apps/puppetserver/tmp. I attached the ls output from one primary that's running since 4 days.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17260", "fixedVersions": [], "id": "17260", "issueType": "Bug", "key": "SERVER-3236", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "/opt/puppetlabs/server/apps/puppetserver/tmp isn't cleaned up", "timeSpent": "PT0S", "updated": "2022-11-29T09:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d5c97ca"}, {"fieldName": "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-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0kvll:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "(Initial planned release date: 2022-12-06)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.3\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-12-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "16304", "fixedVersions": [], "id": "16304", "issueType": "Task", "key": "SERVER-3235", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-11-18T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@79cde486"}, {"fieldName": "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-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0kvld:"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "(Initial planned release date: 2022-12-06)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "16117", "fixedVersions": [], "id": "16117", "issueType": "Task", "key": "SERVER-3234", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-11-18T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@143b7f8c"}, {"fieldName": "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-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0kvl5:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2063052286_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-12-06)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.9.3\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.3\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-12-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "15884", "fixedVersions": [], "id": "15884", "issueType": "Task", "key": "SERVER-3233", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-12-12T08:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-12T08:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "There was a bit of a fire drill today. I ran the CI pipeline yesterday after the Agent promoted but forgot to run the submodule update job so we didn't test against the latest agent. When I ran the pipeline today we had a failure from my task listing change. After [this discussion|https://perforce.slack.com/archives/G0480SF5GBB/p1670437916620109] with Nick and Sean we decided that it was fine and the test should be updated to no longer use invalid fixtures ([PR here|https://github.com/puppetlabs/puppetserver/pull/2674]).\n\nBecause a likely outcome of the discussion was simply a test change I reloaded past the failing test so we could see how the rest of the pipeline fared. Everything besides that test passed and so once the pipeline had finished, and the test change was merged, and the test change had gotten past the stage in the build where it would have failed, I ran the Tag & Release job.\n\nThe final packages are here: http://builds.delivery.puppetlabs.net/puppetserver/7.9.3/\nI handed the build off to the agent lead, and since I was the so slow in getting packages to her, offered to help test. She has yet to take me up on the offer.\n\nThe tagged build has yet to go into PE-PSE, will close once it has. I don't know if this is the release that's supposed to go out in the next PE release so I have not done any of the other work around pipeline disabling. However, if it is, I _think_ we still have a month until stop ship so there's plenty of time to twiddle PS versions in PE-PSE.", "created": "2022-12-07T17:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Passed PE CI as well.", "created": "2022-12-08T09:44:00.000000"}], "components": [], "created": "2022-11-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49ebb220"}, {"fieldName": "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-11669"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0kvkx:"}, {"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/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1666003408_*|*_10009_*:*_1_*:*_56835704_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-12-06)\n\nPrepare release artifacts:\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified, e.g.\n  {{ruby ../ticketmatch/ticketmatch.rb -f <previous puppetserver version> -t <head of relevant puppetserver branch> -p SERVER -v \"SERVER 7.9.3\"}}\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch. If there is another planned puppetserver release before the next PE release, skip this step.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/90e97292651ca6fd3ce0af8e87a9c104b7c649f5\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main. You should not need to adjust any of the default parameters.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.9.3 is built and ready for testing.\n** Close this ticket once puppetserver 7.9.3 has promoted into pe-puppet-server-extensions and that version of pe-puppet-server-extensions has promoted into PE.\n", "duedate": "2022-12-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "estimate": "PT0S", "externalId": "15512", "fixedVersions": [], "id": "15512", "issueType": "Task", "key": "SERVER-3232", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20396", "parentSummary": "Puppet Platform 7.21.0 Release - 2022-12-06", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-12-08T09:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.21.0)", "timeSpent": "PT0S", "updated": "2022-12-08T09:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5fc6d0862730d80076ef2425", "body": "I also reported this here: [https://github.com/puppetlabs/puppetlabs-release/issues/271]\n\n\u00a0\n\nthis is impacting us. Please indicate a workaround if there is a preferred approach.", "created": "2022-11-19T15:36:00.000000"}], "components": [], "created": "2022-11-18T09:44:00.000000", "creator": "557058:73e6cb21-721e-45ed-a765-ba01c38bc519", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20609e10"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0kvft:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Nov/22"}], "description": "```\n\n$ openssl s_client -connect apt.repos.puppet.com:443 <<< '' \u00a02>&1 |fgrep notAfter\nnotAfter=Sep 14 23:59:59 2022 GMT\nnotAfter=Sep 14 23:59:59 2022 GMT\n\n```", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17540", "fixedVersions": [], "id": "17540", "issueType": "Bug", "key": "SERVER-3231", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:73e6cb21-721e-45ed-a765-ba01c38bc519", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "apt.repos.puppet.com:443 is serving an expired certificate", "timeSpent": "PT0S", "updated": "2022-11-19T15:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "620f6fd6878c2f00729ab8aa", "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "What fix version do we need on SERVER tickets?\u00a0", "created": "2022-12-13T09:05:00.000000"}], "components": [], "created": "2022-10-24T14:48:00.000000", "creator": "5b64ddd7d1e8dc2d916c6289", "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": "- Update\u00a0[jruby-deps|https://github.com/puppetlabs/jruby-deps/blob/c4b1b4f6396e7a8c1ae61fe1e5ab5686bd2e7bb1/project.clj#L1-L3]\u00a0with the new version\n - Release that and bump it in\u00a0[jruby-utils|https://github.com/puppetlabs/jruby-utils/blob/419e87acec31f6965a724f6025daa01d08befb5e/project.clj#L25]\n - Release that and update in\u00a0[clj-parent|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129]\n - Release that and update it in:\n -- puppetserver\n -- pe-pse (don't forget to also update\u00a0[this|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129])\n -- orchestrator"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@369fa74e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3l8:0920hiia"}, {"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": "Puppet Server now uses JRuby 9.3.9.0."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "8.0"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3011023506_*|*_3_*:*_1_*:*_578878116_*|*_10009_*:*_1_*:*_801454630_*|*_5_*:*_1_*:*_0"}], "description": "- Update [jruby-deps|https://github.com/puppetlabs/jruby-deps/blob/c4b1b4f6396e7a8c1ae61fe1e5ab5686bd2e7bb1/project.clj#L1-L3] with the new version\n- Release that and bump it in [jruby-utils|https://github.com/puppetlabs/jruby-utils/blob/419e87acec31f6965a724f6025daa01d08befb5e/project.clj#L25]\n- Release that and update in [clj-parent|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129]\n- Release that and update it in:\n-- puppetserver\n-- pe-pse (don't forget to also update [this|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129])\n-- orchestrator", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16116", "fixedVersions": ["SERVER 7.9.3"], "id": "16116", "issueType": "Story", "key": "SERVER-3230", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b64ddd7d1e8dc2d916c6289", "resolution": "Fixed", "resolutionDate": "2022-12-14T09:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby to 9.3.9.0", "timeSpent": "PT0S", "updated": "2022-12-14T09:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:3fe45d2b-0347-4870-944c-6f32a658bdab", "created": "2022-10-12T04:04:00.000000", "name": "puppet-server.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11173"}], "comments": [{"author": "557058:3fe45d2b-0347-4870-944c-6f32a658bdab", "body": "a rollback to Puppet Server 7.9.1 works, we moved back", "created": "2022-10-12T04:05:00.000000"}, {"author": "557058:94252a0b-7ed3-4e3e-ab98-1739f9e085d6", "body": "Taking a quick look at the trace, [Psych|https://github.com/ruby/psych#readme] is involved and responsible for calling {{org.yaml.snakeyaml}} classes. As result, this bug is at the very least blocked on [ruby/psych#579: JRuby: Provide some sort of ability to configure SnakeYAML LoaderOptions|https://github.com/ruby/psych/issues/579].\n\nFor anyone suffering from this, downgrade to last month's Puppetserver package (7.9.1) is the only solution available for the near future.", "created": "2022-10-24T09:22:00.000000"}], "components": ["Puppet Server"], "created": "2022-10-12T04:03:00.000000", "creator": "557058:3fe45d2b-0347-4870-944c-6f32a658bdab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6429a76c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0k7r5:"}, {"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": "50290"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Oct/22"}], "description": "*Puppet Version: 7.20.0*\n*Puppet Server Version:7.9.2*\n*OS Name/Version:Ubuntu 20.02*\n\nThe commit inside PuppetServer updated the snakeyaml version:\n\nhttps://github.com/puppetlabs/puppetserver/commit/9444a825a9d6db8caaf1cf59f0cf100276e1a81e\n\nThe new snakeyaml version contains a CVE fix that limits the size of a YAML document:\n\n[https://bitbucket.org/snakeyaml/snakeyaml/commits/72dfa9f1074abe2b8a6c8776bee4476b0aed02e3]\n\nOne of YAML document for our hiera is 3000 lines of network information. this breaks puppetserver\n\n*Desired Behavior:*\n\nlet the user configure the limit for snakeyaml\n\n\n*Actual Behavior:*\n\ncatalog compilation aborts with:\n\n```\n\n[puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, The incoming YAML document exceeds the limit: 3145728 code points.\n\n```\n\nThe complete trace is > 1000 lines, see extra upload", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16956", "fixedVersions": [], "id": "16956", "issueType": "Bug", "key": "SERVER-3228", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3fe45d2b-0347-4870-944c-6f32a658bdab", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "snakeyaml Update  breaks bigger Hieradata (yaml) files", "timeSpent": "PT0S", "updated": "2023-03-09T11:49:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2022-10-12T03:43:00.000000", "creator": "63d2e164a197e05f9dae4810", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@769b3d29"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0k7qp:"}], "description": "Puppet Server is not packaged for el9-based distros. The Puppet agent is available via both EPEL and puppetlabs.\n\nI am also unable to find any plan or roadmap for when we can expect Puppet Server to be available for el9-based distros.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16303", "fixedVersions": [], "id": "16303", "issueType": "Improvement", "key": "SERVER-3227", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "63d2e164a197e05f9dae4810", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "EL9 Packages for Puppet Server", "timeSpent": "PT0S", "updated": "2022-10-12T03:43:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "body": "Evaluate if this can be handled by promoting to both streams?\n\nSeems like yes?", "created": "2022-10-04T12:13:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "It can. We can do that for now, especially since it seems like auto-mergeups are a contentious topic. \n\nOne of the consequences of promoting to both streams is that if something is broken in the clj-parent release, it will affect all streams at once. When we make other changes to projects, we typically expect them to go completely through CI on the older branch before merging up to newer branches. Promoting to both streams goes against that pattern.\n\nI still think automated mergeups will save us a lot of time in the long run and adding configurable bits like this could allow these mergeup drivers to more-easily adapted for use by other projects. But I recognize that that is a longer-term goal that will require an upfront cost.", "created": "2022-10-06T13:20:00.000000"}], "components": [], "created": "2022-10-03T11:23:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66cd1e20"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3dx:9"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/22"}], "description": "Currently, we have hard-coded the puppetserver mergeup script to not merge up clj-parent bumps: [https://github.com/puppetlabs/puppetserver/blob/a8019c168b2cd327056c68cd2833a6b167deba14/jenkins/mergeup.sh#L65]\n\nNow that we have three branches, we *don't* want to merge up clj-parent bumps from 6.x to 7.x, but we *do* want to merge them up from 7.x to main.\n * Add a {{MERGEUP_CLJ_PARENT}} parameter to the puppetserver [mergeup.sh|https://github.com/puppetlabs/puppetserver/blob/7.x/jenkins/mergeup.sh] script, similar to the {{MERGEUP_DEP_VERSIONS}} param (default to false).\n * Update the script to take the value of this param into account when determining what to do when a clj-parent bump conflict is encountered.\n ** The behavior can be tested locally by following the configuration instructions at the top of the script, setting the appropriate environment variables, and then performing a mergeup.\n * Add {{MERGEUP_CLJ_PARENT}} as a param to the [mergeup job-template in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/68e4cbcf3a45f508d302b8427cbb7d2400bfb631/resources/job-templates/mergeup.yaml#L126] with a default value of '\\{p_mergeup_clj_parent}' which should default to 'FALSE', similar to how {{MERGEUP_DEP_VERSIONS}} is configured.\n * Add {{p_mergeup_clj_parent}} to the [puppetserver project definition|https://github.com/puppetlabs/ci-job-configs/blob/68e4cbcf3a45f508d302b8427cbb7d2400bfb631/jenkii/platform/projects/puppetserver.yaml#L217] and set it to 'TRUE' for 7.x only.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14868", "fixedVersions": [], "id": "14868", "issueType": "Task", "key": "SERVER-3226", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make mergeups of clj-parent bumps in puppetserver configurable", "timeSpent": "PT0S", "updated": "2022-11-02T13:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f76d752"}, {"fieldName": "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-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0k8rx:"}, {"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_*:*_1391128953_*|*_3_*:*_1_*:*_14473122_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-10-11)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.2\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "14866", "fixedVersions": [], "id": "14866", "issueType": "Task", "key": "SERVER-3225", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-19T16:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-19T16:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "pe-pse was bumped as part of PE-34715 and we didn't disable promotions, since the PE release branch was cut prior to FOSS feature complete, so this is done.", "created": "2022-10-07T12:16:00.000000"}], "components": [], "created": "2022-10-03T09:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b273aaa"}, {"fieldName": "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-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3l8:0920f24"}, {"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/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_355261125_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-10-11)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "17539", "fixedVersions": [], "id": "17539", "issueType": "Task", "key": "SERVER-3224", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-10-07T12:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-07T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ca08257"}, {"fieldName": "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-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0k2wi:"}, {"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_*:*_623120040_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-10-11)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.9.2\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.2\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-10-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "17258", "fixedVersions": [], "id": "17258", "issueType": "Task", "key": "SERVER-3223", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-10T14:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-10T14:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "attachments": [], "comments": [], "components": [], "created": "2022-10-03T09:36:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70bab075"}, {"fieldName": "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-11636"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0k2tt:"}, {"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_*:*_24148478_*|*_3_*:*_1_*:*_317041210_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-10-11)\n\nPrepare release artifacts:\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified, e.g.\n  {{ruby ../ticketmatch/ticketmatch.rb -f <previous puppetserver version> -t <head of relevant puppetserver branch> -p SERVER -v \"SERVER 7.9.2\"}}\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch. If there is another planned puppetserver release before the next PE release, skip this step.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/90e97292651ca6fd3ce0af8e87a9c104b7c649f5\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main. You should not need to adjust any of the default parameters.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.9.2 is built and ready for testing.\n** Close this ticket once puppetserver 7.9.2 has promoted into pe-puppet-server-extensions and that version of pe-puppet-server-extensions has promoted into PE.\n", "duedate": "2022-10-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "estimate": "PT0S", "externalId": "16955", "fixedVersions": [], "id": "16955", "issueType": "Task", "key": "SERVER-3222", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25702", "parentSummary": "Puppet Platform 7.20.0 Release - 2022-10-11", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-10-07T08:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.20.0)", "timeSpent": "PT0S", "updated": "2022-10-07T08:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2022-09-30T04:53:00.000000", "creator": "6243b28cf813eb0069290a23", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2507fedf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0k26x:"}], "description": "CI looks broken -> no new images\n\n[https://puppet.com/docs/puppet/7/server/release_notes.html]\n\nLast Image 7.8.1: [https://hub.docker.com/r/puppet/puppetserver/tags]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17538", "fixedVersions": [], "id": "17538", "issueType": "CI Blocker", "key": "SERVER-3221", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b28cf813eb0069290a23", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "PuppetServer 7.9.1 Docker image missing", "timeSpent": "PT0S", "updated": "2022-09-30T04:53:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-09-09T12:48: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@36e9f765"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0jj8x:"}, {"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": "The included Dropsonde gem has been upgraded to 0.0.8 which adds the ability to list unused modules to the telemetry client report generator. See https://dev.to/puppet/cleaning-up-unused-modules-with-dropsonde-44a5 for more."}, {"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_*:*_9703_*|*_3_*:*_1_*:*_7959_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17483", "fixedVersions": ["SERVER 6.y", "SERVER 7.9.1"], "id": "17483", "issueType": "Task", "key": "SERVER-3220", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2022-09-09T12:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update dropsonde to 0.0.8", "timeSpent": "PT0S", "updated": "2022-09-20T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-30T08:28:00.000000", "name": "Screenshot 2022-08-29 at 10-55-57 gceasy.io.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10718"}, {"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-30T08:34:00.000000", "name": "Screenshot 2022-08-30 at 09-04-56 puppetserver_performance - Grafana.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11251"}, {"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-30T08:34:00.000000", "name": "Screenshot 2022-08-30 at 09-05-41 puppetserver_performance - Grafana.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11172"}, {"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-30T08:32:00.000000", "name": "Screenshot 2022-08-30 at 09-06-13 puppetserver_performance - Grafana.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11318"}, {"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-30T08:30:00.000000", "name": "Screenshot 2022-08-30 at 09-21-56 gceasy.io.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10637"}, {"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2022-08-31T08:09:00.000000", "name": "exceptions.PNG", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11015"}], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "My main concern with this switch is that historically the throughput % (percent of time spent on application work vs. garbage collection) has been worse with G1 and JRuby compared to ParallelGC. So, even though Parallel takes longer pauses during major collections it allows the Puppet API to get more work done overall per puppet run interval.\n\nHowever, the GCeasy reports attached here show a throughput of 99.0% with ParallelGC and 99.1% with G1GC, which is promising.\n\nOne other concern is the behavior of the Full GC. G1 is much more expensive if it gets pushed into running a full collection and the results here don't show that occurring.", "created": "2022-09-13T11:20:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "{quote}throughput % (percent of time spent on application work vs. garbage collection) has been worse with G1 and JRuby compared to ParallelGC{quote}\n\nDo you have any numbers on this/do you know if this was exclusive for JRuby? My impression for Ruby is that the main focus since a long time it G1GC. It's supposed to be the standard GC and ParallelGC development stalled and using it isn't recommended anymore. Maybe my impression is wrong or it only applies to Ruby, not JRuby. At least for the environment I'm currently debugging on, this is no performance difference.\n\nI had some discussions with our inhouse java developers. Their statement is that a proper configured JVM never does a full GC. If it does a full GC, something is broken. I haven't seen a single full GC with G1 and a full GC with ParallelGC every ~50 minutes. I say it doesn't matter how expensive a full GC would be. We should provide sane defaults that prohibit a GC at all. And I failed to configure ParallelGC/the JVM with ParallelGC in a way that it doesn't do full GCs.\n\nI currently don't have other big environments where I can debug. I'm wondering if other people:\n* don't have full GCs with ParallelGC at all\n* do have full GC but they are shorter. If so - why?\n* do have full GC but less often and don't notice any issues\n* do have full GCs at the same frequency, but don't execute latency sensitive operations like PE tasks/plans during that and don't notice the problem\n\nThe huge amount of exceptions might be related? I've no clue if so many exceptions are related and common (also I don't know how I can actually log those, I'm open for ideas). If you've any questions/want some numbers, let me know. I'm happy to do some testings in the current environment.", "created": "2022-09-13T11:39:00.000000"}], "components": [], "created": "2022-08-30T08:40: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@51eec1b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0jcxd:"}, {"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"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/22"}], "description": "Hi,\nThis ticket is a result of the support ticket 49156 and slack conversations:\n* https://puppetcommunity.slack.com/archives/C19V5U41Z/p1661786531899119\n* https://puppetcommunity.slack.com/archives/C19V5U41Z/p1661526850911179\n* https://puppetcommunity.slack.com/archives/C19V5U41Z/p1661433482752529\n\na brief summary:\n\nWe saw some timeouts in the pxp-agent logs, it sends out a keepalive packet to the broker and the broker didn't respond within 5 seconds (hardcoded value).  pxp-agent logged that it received a response, but after the 5 seconds. After a lot of debugging we noticed that ParallelGC caused a full garbage collection every ~45 minutes. They took on average 8 seconds, with the longest full GC taking 1 minute. During those timeframes, the pcp-broker cannot respond to keepalives. We switched to G1GC and didn't notice any issues so far. catalog compilation time didn't change and pcp-broker responds to all keepalives within time.\n\nWe're running PE 2019.8.11 on RHEL 7. We've one primary and 4 compilers behind an F5 loadbalancer. In total we have ~900 agents and ~1.400.000 resources in PuppetDB. I don't know why we run into this issue. for this small amount of agents/resources the PE infra is quite beefy. Each compiler has 64GB of ram, 16vCPUs. Only \"special\" thing we have are the 43 environments.\n\nWe did a lot of puppetserver adjustments, at the end the compilers were running with:\n* 24G xmx/xms\n* 10 jruby instances\n* 10.000 max requests per jruby instance on 2 compilers\n* 100.000 max requests per jruby instance on the other 2 compilers\n* max-queued-requests 85\n\nwhich still caused the full garbage collections. Increasing heap from 24G to 32G didn't change. We had around 10G of young gen and 20G of old gen. This is quite a bad ratio and I don't really know what caused this. A coworker is a java dev, he did a java flight record and mentioned over 100k exceptions *per second* in 2 minutes from the puppetserver. This is quite high, but the puppetserver.log had no indications (or is this just a locale thing and it's actually 100 exceptions/s?).\n\n !exceptions.PNG|! \n\nWe're now running with G1GC since two days and everything is working fine so far. I don't know if anything is special in our environment which lead to the many/long fullGCs or if more people have this problem but don't notice it because they run less tasks/jobs/plans via the orchestrator (or on less agents). I am aware of https://github.com/jruby/jruby/issues/5789 which I think was the reason why https://puppet.atlassian.net/browse/PE-28206 switched from G1GC to ParallelGC, but I think it's worth discussing switching back to G1GC. If there are any details in PE-28206 it would be awesome if you could share them (the ticket is private :( ).\n\nThere are also some tuning background information at https://puppet.atlassian.net/browse/SERVER-2771 and it sounds like there were huge improvements in G1GC or jruby: https://twitter.com/headius/status/1467915995553665031\n\nWe ended up with these java_args:\n{code:yaml}\n---\npuppet_enterprise::profile::master::java_args:\n  Xms: \"32700m\"\n  Xmx: \"32700m\"\n  'XX:+PrintCodeCache': ''\n  'XX:+HeapDumpOnOutOfMemoryError': ''\n  'XX:HeapDumpPath=/opt/puppetlabs/server/data/puppetserver/heapdumps/': ''\n  Xlog: \":gc*:file=/var/log/puppetlabs/puppetserver/puppetserver_gc.log:time,uptime:filecount=32,filesize=5M\"\n  'XX:+UseG1GC': ''\n  Djruby.management.enabled: '=true'\n{code}\n\nI've some stats from the platform, let me know if you need any details. Screenshot from the gceasy analyse with ParallelGC:\n\n !Screenshot 2022-08-29 at 10-55-57 gceasy.io.png|thumbnail! \n\nand after some time the same box with G1GC:\n\n !Screenshot 2022-08-30 at 09-21-56 gceasy.io.png|thumbnail! \n\nWe didn't see any performance impacts for catalog compilation:\n !Screenshot 2022-08-30 at 09-06-13 puppetserver_performance - Grafana.png|thumbnail! \n !Screenshot 2022-08-30 at 09-05-41 puppetserver_performance - Grafana.png|thumbnail! \n !Screenshot 2022-08-30 at 09-04-56 puppetserver_performance - Grafana.png|thumbnail! \n\n\nand last comment: PuppetDB and the orchestration-services also use ParallelGC. Switching them to G1GC should be evaluated as well I think?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17481", "fixedVersions": [], "id": "17481", "issueType": "Improvement", "key": "SERVER-3217", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Switch garbage collector in puppetserver from ParallelGC to G1GC", "timeSpent": "PT0S", "updated": "2023-11-28T15:58:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "# Team is Froyo\n# Can probably remove the second team based ticketmatch query\n# Do we still need the Dependencies and Versions page updates (aren't they always updated by PM prior to creating the tickets??)?\n", "created": "2022-09-08T15:23:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Team is apparently set outside of the templates.", "created": "2022-09-13T17:08:00.000000"}], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23821753"}, {"fieldName": "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-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0j0qh:"}, {"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/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1833420796_*|*_10007_*:*_1_*:*_2733267_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-09-13)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.1\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "15882", "fixedVersions": [], "id": "15882", "issueType": "Task", "key": "SERVER-3216", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-09-13T17:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-20T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29edb830"}, {"fieldName": "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-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0j0q9:"}, {"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_*:*_1394953406_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-09-13)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "15451", "fixedVersions": [], "id": "15451", "issueType": "Task", "key": "SERVER-3215", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-09-08T15:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-08T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "For this release there's been two bullets of note:\n* The included Dropsonde gem has been upgraded to 0.0.8 which adds the ability to list unused modules to the telemetry client report generator. See https://dev.to/puppet/cleaning-up-unused-modules-with-dropsonde-44a5 for more. (SERVER-3220)\n* org.yaml/snakeyaml has been upgrade to 1.31 (maint)", "created": "2022-09-09T12:54:00.000000"}], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d26b5b6"}, {"fieldName": "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-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0j0q1:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1745423123_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-09-13)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.9.1\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.1\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-09-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "15263", "fixedVersions": [], "id": "15263", "issueType": "Task", "key": "SERVER-3214", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-09-12T16:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-12T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-08-23T11:53:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59e9bc7a"}, {"fieldName": "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-11606"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0j0pt:"}, {"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_*:*_1402819891_*|*_3_*:*_1_*:*_323961874_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-09-13)\n\nPrepare release artifacts:\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified, e.g.\n  {{ruby ../ticketmatch/ticketmatch.rb -f <previous puppetserver version> -t <head of relevant puppetserver branch> -p SERVER -v \"SERVER 7.9.1\"}}\n** Run ticketmatch in the puppet repo WITH the team 'Froyo', e.g.\n  {{ruby ../ticketmatch/ticketmatch.rb -f <previous puppet version> -t <head of relevant puppet branch> -p PUP -v \"PUP 7.19.0\" -m Froyo}}\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch. If there is another planned puppetserver release before the next PE release, skip this step.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/90e97292651ca6fd3ce0af8e87a9c104b7c649f5\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main. You should not need to adjust any of the default parameters.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.9.1 is built and ready for testing.\n** Close this ticket once puppetserver 7.9.1 has promoted into pe-puppet-server-extensions and that version of pe-puppet-server-extensions has promoted into PE.\n", "duedate": "2022-09-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "estimate": "PT0S", "externalId": "14864", "fixedVersions": [], "id": "14864", "issueType": "Task", "key": "SERVER-3213", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28761", "parentSummary": "Puppet Platform 7.19.0 Release - 2022-09-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-09-12T11:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.19.0)", "timeSpent": "PT0S", "updated": "2022-09-20T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2022-08-23T06:22:00.000000", "creator": "5a290d825389eb38679d468a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65f22e4c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0j0g9:"}], "description": "I'm trying to install Puppet Server on Debian 11 Bullseye by following descriptions\n * [https://puppet.com/docs/puppet/7/install_puppet.html#enable_the_puppet_platform_repository]\n * [https://puppet.com/docs/puppet/7/server/install_from_packages.html#install-puppet-server]\n\nBut final installation step fails with\n# apt-get install puppetserver\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n puppetserver : Depends: puppet-agent (>= 6.16.0) but it is not installable\nE: Unable to correct problems, you have held broken packages.{{}}\nTo me it seems that {{puppetserver}} package declares an unresolvable dependency on package {{{}puppet-agent{}}}:\n# aptitude search puppet-agent\n[EMPTY RESULT]\n\nPackage repository seems to be correct:\n# cat /etc/apt/sources.list.d/puppet7.list \n# Puppet 7 bullseye Repository\ndeb http://apt.puppetlabs.com bullseye puppet7{{}}\nOperating on Debian 11 Bullseye:\n{{}}\n{code:java}\n$ cat /etc/os-release | grep VERSION\nVERSION_ID=\"11\"\nVERSION=\"11 (bullseye)\"\nVERSION_CODENAME=bullseye{code}\n{{{}{}}}Also see [StackOverflow issue|https://stackoverflow.com/questions/73443852/puppetserver-install-fails-on-debian-11-bullseye-depends-puppet-agent-6-16].", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14855", "fixedVersions": [], "id": "14855", "issueType": "Bug", "key": "SERVER-3212", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a290d825389eb38679d468a", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver install fails on Debian 11 Bullseye \"Depends: puppet-agent (>= 6.16.0) but it is not installable\"", "timeSpent": "PT0S", "updated": "2022-08-23T06:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-07-28T13:39:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fdd214e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3l8:0920hi0a"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1.0"}], "description": "We removed the legacy-routes-service starting in puppetserver 7, but we never removed it from {{web-routes.conf}}: https://github.com/puppetlabs/puppetserver/blob/42d96b68f4219b9dc90630addbd0f97f0f7f3bc2/ezbake/config/conf.d/web-routes.conf#L6\n\nWe should remove it, since it's confusing to ship a config file that mentions an unsupported service.\n\nEnsure corresponding docs are updated: https://puppet.com/docs/puppet/7/server/config_file_web-routes.html", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16650", "fixedVersions": [], "id": "16650", "issueType": "Task", "key": "SERVER-3211", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove legacy-routes-service from web-routes.conf", "timeSpent": "PT0S", "updated": "2022-10-10T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This was done in ci-job-configs#e194d5497", "created": "2022-09-30T14:12:00.000000"}], "components": [], "created": "2022-07-28T08:59: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@6e820c9"}, {"fieldName": "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-4570"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0hv89:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1289765455_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4258617767"}], "description": "Remove *Debian 9* from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Debian 9 FOSS support", "estimate": "PT0S", "externalId": "15881", "fixedVersions": [], "id": "15881", "issueType": "Task", "key": "SERVER-3210", "labels": ["os"], "originalEstimate": "PT0S", "parent": "59986", "parentSummary": "Remove Debian 9 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2022-09-30T14:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Debian 9 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2022-09-30T14:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:42:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73c49d91"}, {"fieldName": "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-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0h7q8:xi"}, {"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_*:*_153837770_*|*_3_*:*_1_*:*_58298116_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4516055418"}], "description": "(Initial planned release date: 2022-07-12)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.20.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "17479", "fixedVersions": ["None"], "id": "17479", "issueType": "Task", "key": "SERVER-3208", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-08-16T10:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-16T10:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:42:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17f972bc"}, {"fieldName": "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-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0h7q8:x"}, {"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_*:*_88987058_*|*_1_*:*_1_*:*_153831408_*|*_10007_*:*_1_*:*_2561106_*|*_3_*:*_1_*:*_615814_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4506912052"}], "description": "(Initial planned release date: 2022-07-12)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "17254", "fixedVersions": ["None"], "id": "17254", "issueType": "Task", "key": "SERVER-3207", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-08-16T16:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-16T16:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:42:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ee803bd"}, {"fieldName": "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-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0hgx4:w"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611323397_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 6.20.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.20.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-07-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "16953", "fixedVersions": [], "id": "16953", "issueType": "Task", "key": "SERVER-3206", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:42:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e367dc5"}, {"fieldName": "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-11572"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0hgyc:"}, {"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_*:*_22768897_*|*_1_*:*_1_*:*_153867995_*|*_3_*:*_1_*:*_268235413_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1807188723"}], "description": "(Initial planned release date: 2022-07-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 6.20.0 is built and ready for testing.\n", "duedate": "2022-07-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "16649", "fixedVersions": ["None"], "id": "16649", "issueType": "Task", "key": "SERVER-3205", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25506", "parentSummary": "Puppet Platform 6.28.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-07-18T18:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 6.28.0)", "timeSpent": "PT0S", "updated": "2022-07-18T18:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:38:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@125294e3"}, {"fieldName": "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-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0h7q8:xy"}, {"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_*:*_154142733_*|*_10007_*:*_1_*:*_7894512_*|*_3_*:*_1_*:*_6553868_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4834270049"}], "description": "(Initial planned release date: 2022-07-12)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-07-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "17253", "fixedVersions": ["None"], "id": "17253", "issueType": "Task", "key": "SERVER-3204", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-08-19T14:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-19T14:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:37:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f08403a"}, {"fieldName": "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-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0h7q8:xw"}, {"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_*:*_61555355_*|*_1_*:*_1_*:*_154184102_*|*_10007_*:*_1_*:*_13476368_*|*_3_*:*_1_*:*_550369_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4672787233"}], "description": "(Initial planned release date: 2022-07-12)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "16952", "fixedVersions": ["None"], "id": "16952", "issueType": "Task", "key": "SERVER-3203", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-08-18T10:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-18T10:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:37:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71135d8d"}, {"fieldName": "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-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0hgx4:zz"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3611043631_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-07-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.9.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.9.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-07-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "16648", "fixedVersions": [], "id": "16648", "issueType": "Task", "key": "SERVER-3202", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-08-03T11:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-08-03T11:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-06-22T16:37:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ce6ce3f"}, {"fieldName": "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-11562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0h7pi:"}, {"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_*:*_108596692_*|*_1_*:*_1_*:*_154171024_*|*_10007_*:*_1_*:*_2596349_*|*_3_*:*_1_*:*_172159964_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2162654383"}], "description": "(Initial planned release date: 2022-07-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.9.0 is built and ready for testing.\n", "duedate": "2022-07-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "estimate": "PT0S", "externalId": "16302", "fixedVersions": ["None"], "id": "16302", "issueType": "Task", "key": "SERVER-3201", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24624", "parentSummary": "Puppet Platform 7.18.0 Release - 2022-07-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-07-22T18:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.18.0)", "timeSpent": "PT0S", "updated": "2022-07-22T18:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-05-06T10:34:00.000000", "creator": "62bc76949e6ba34c9936b45e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59532a4d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0g83y:"}], "description": "*Puppet Version:* 7.7.0-1focal\n*Puppet Server Version:* 7.7.0-1focal\n*OS Name/Version:* Ubuntu 20.04.4 LTS Linux 5.13.0-1022-aws #24~20.04.1-Ubuntu SMP Thu Apr 7 22:14:11 UTC 2022 aarch64\n\nPuppetserver fails to start with the following messages:\n{noformat}\nMay 06 16:25:23 puppetserver[308538]: Puppet::Error: Cannot determine basic system flavour\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/feature/base.rb:19\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974\nMay 06 16:25:23 puppetserver[308538]: \u00a0 require_relative at org/jruby/RubyKernel.java:1002\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0<module:Puppet> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:98\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:42\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at uri:classloader:/puppetserver-lib/puppet/server.rb:1\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at uri:classloader:/puppetserver-lib/puppet/server/master.rb:1\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at org/jruby/RubyKernel.java:974\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83\nMay 06 16:25:23 puppetserver[308538]: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <main> at <script>:1\nMay 06 16:25:23 puppetserver[308538]: ERROR shutdown-on-error triggered because of exception!{noformat}\nWhole error message a bit longer, please let me know if you need it full.\n\nThis is official package taken from puppetlabs repo, I've also tried to create a different tmp directory, so both options from known issues didn't help.\n\nSame time puppet agent works fine.\n\n*Desired Behavior:*\n\nPuppetserver starts and serves clients\n\n*Actual Behavior:*\n\nPuppetserver fails to start", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15880", "fixedVersions": [], "id": "15880", "issueType": "Bug", "key": "SERVER-3199", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62bc76949e6ba34c9936b45e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver fails to start on AWS Graviton instance (aarch64)", "timeSpent": "PT0S", "updated": "2022-05-06T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-05-04T08:41:00.000000", "creator": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33c1c508"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g6hy:"}], "description": "It would be helpful if puppetserver had the r10k gem installed so it was ready to use immediately.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16301", "fixedVersions": [], "id": "16301", "issueType": "New Feature", "key": "SERVER-3198", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:13e9ba64-d0e3-4303-948b-08ee1e68f2de", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship puppetserver with r10k installed", "timeSpent": "PT0S", "updated": "2022-05-04T08:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:59:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28186ea2"}, {"fieldName": "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-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g3q6:"}, {"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_*:*_2736898768_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.8.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "15260", "fixedVersions": [], "id": "15260", "issueType": "Task", "key": "SERVER-3197", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-03T10:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T10:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This release isn't going into a PE release, so no need to halt promotions.", "created": "2022-06-03T10:14:00.000000"}], "components": [], "created": "2022-05-02T17:59:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e0cc56a"}, {"fieldName": "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-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g3py:"}, {"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/Jun/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2736900829_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "14851", "fixedVersions": [], "id": "14851", "issueType": "Task", "key": "SERVER-3196", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2022-06-03T10:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T10:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:59:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e4d87a4"}, {"fieldName": "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-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g3pq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2736878325_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.8.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.8.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-05-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "17477", "fixedVersions": [], "id": "17477", "issueType": "Task", "key": "SERVER-3195", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-03T10:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T10:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2022-05-02T17:59:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7399e2e0"}, {"fieldName": "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-11528"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g3pi:"}, {"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_*:*_2736874224_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2022-05-24)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.8.0 is built and ready for testing.\n", "duedate": "2022-05-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "estimate": "PT0S", "externalId": "17222", "fixedVersions": [], "id": "17222", "issueType": "Task", "key": "SERVER-3194", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27757", "parentSummary": "Puppet Platform 7.17.0 Release - 2022-05-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-06-03T10:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.17.0)", "timeSpent": "PT0S", "updated": "2022-06-03T10:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:64ef47a3-5a01-405a-8905-bb5924baaed6", "body": "Hello, please advice when approx. open source package \"puppetserver\" for Ubuntu 22.04 will be released? Thank you :)\n\nIt's much awaited ", "created": "2022-05-15T04:17:00.000000"}, {"author": "62ccea5fe546e8eab8ee5c4f", "body": "So, we've got the agent support now, but no (visible) progress on the server? We're heading for four months since Ubuntu 22.04 came out. Early adopters are already going to be looking at it for new installs on new networks. And the next non-LTS release won't be far away!", "created": "2022-08-06T02:40:00.000000"}, {"author": "5c5183cf3ed79267251046c8", "body": "Is this on a roadmap, any ETA ?\n\n\u00a0", "created": "2022-09-01T22:26:00.000000"}, {"author": "623c1205bef8a60068c79a3f", "body": "We are also eagerly awaiting this, would be good to have an indication if this is on Puppetlabs' radar?", "created": "2022-09-15T20:00:00.000000"}, {"author": "623c102a1c7f6a007049e785", "body": "Would love to see this too, given that Jammy has been out for 6 months now and the puppet-agent packages for Jammy already exist in the repo. Thanks!", "created": "2022-10-26T19:22:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Are there any plans to deliver puppetserver builds for Ubuntu 22?", "created": "2023-01-03T02:31:00.000000"}, {"author": "623c168594742a00683e4426", "body": "With version puppetserver 6 about to go EOL, it would be a nice to refresh both the OS and the server at once :)", "created": "2023-01-27T08:37:00.000000"}, {"author": "6399929461aba8a6a32cd10d", "body": "Any update on this? Or are we forced to migrate to other products?", "created": "2023-03-02T01:26:00.000000"}], "components": ["Puppet Server"], "created": "2022-04-28T23:44:00.000000", "creator": "6243b1e6f6a26900695c26e4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@181fff4f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0g2se:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/May/22"}], "description": "Ohai,\n\nUbuntu 22.04 LTS was released ([https://ubuntu.com/blog/ubuntu-22-04-lts-released]) and it would be cool if Puppet Server packages would be available for it.\n\nAgent bits are tracked in PA-4233\n\n\u00a0\n\nThanks!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15879", "fixedVersions": [], "id": "15879", "issueType": "Improvement", "key": "SERVER-3193", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b1e6f6a26900695c26e4", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ubuntu 22.04 Jammy packages for Puppet Server", "timeSpent": "PT0S", "updated": "2023-05-17T00:32:00.000000", "votes": "14", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2022-04-25T11:39: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@70505eb3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk3ms:002e"}, {"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": "48135"}], "description": "*Puppet Version:* 7.12.1\n*Puppet Server Version:* 7.4.2\n\nA customer has stated that the puppet-ca/v1/clean endpoint only \u201cworks for them when talking directly to the primary, it doesn\u2019t work when connecting via a PE Compiler, using the built-in proxy the compilers provide. Every other type of CA request proxies just fine, it\u2019s just the newer clean endpoint.\u201d\n\n*Desired Behavior:* can hit puppet-ca/v1/clean via a compiler\n\n\n*Actual Behavior:* Only works directly via primary\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15257", "fixedVersions": [], "id": "15257", "issueType": "Bug", "key": "SERVER-3192", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet-ca/v1/clean endpoint, only works when hitting the primary directly an not thorugh compilers", "timeSpent": "PT0S", "updated": "2022-05-31T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T11:00:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20e6af5"}, {"fieldName": "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-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi0m:"}, {"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_*:*_5028828_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2946809475"}], "description": "(Initial planned release date: 2022-04-12)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.7.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "16114", "fixedVersions": [], "id": "16114", "issueType": "Task", "key": "SERVER-3189", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-05-03T14:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-05-03T14:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T11:00:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5008d4df"}, {"fieldName": "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-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi0e:"}, {"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_*:*_5001378_*|*_10007_*:*_1_*:*_2534120_*|*_3_*:*_1_*:*_168002586_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2674458476"}], "description": "(Initial planned release date: 2022-04-12)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "15877", "fixedVersions": ["None"], "id": "15877", "issueType": "Task", "key": "SERVER-3188", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-05-02T10:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-05-02T10:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T11:00:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d88af6"}, {"fieldName": "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-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi06:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87322016_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1035098840"}], "description": "(Initial planned release date: 2022-04-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.7.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.7.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-04-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "15450", "fixedVersions": [], "id": "15450", "issueType": "Task", "key": "SERVER-3187", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-12T10:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-12T10:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T11:00:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@717001da"}, {"fieldName": "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-11491"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fhzy:"}, {"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_*:*_59147109_*|*_1_*:*_1_*:*_5027691_*|*_10007_*:*_1_*:*_1425512_*|*_3_*:*_1_*:*_9671658_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_440818703"}], "description": "(Initial planned release date: 2022-04-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.7.0 is built and ready for testing.\n", "duedate": "2022-04-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "15254", "fixedVersions": ["None"], "id": "15254", "issueType": "Task", "key": "SERVER-3186", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20334", "parentSummary": "Puppet Platform 7.16.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-05T10:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.16.0)", "timeSpent": "PT0S", "updated": "2022-04-05T10:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:55:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67488d07"}, {"fieldName": "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-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi0m:9"}, {"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_*:*_5167329_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2947017993"}], "description": "(Initial planned release date: 2022-04-12)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.19.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-04-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "14850", "fixedVersions": [], "id": "14850", "issueType": "Task", "key": "SERVER-3185", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-05-03T14:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-05-03T14:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:54:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3945f976"}, {"fieldName": "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-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fht2:"}, {"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_*:*_5185260_*|*_10007_*:*_1_*:*_2571243_*|*_3_*:*_1_*:*_252799719_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2589799739"}], "description": "(Initial planned release date: 2022-04-12)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "17475", "fixedVersions": ["None"], "id": "17475", "issueType": "Task", "key": "SERVER-3184", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-05-02T10:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-05-02T10:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:54:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d8e4b92"}, {"fieldName": "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-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fhsu:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87654717_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1035074378"}], "description": "(Initial planned release date: 2022-04-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 6.19.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.19.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-04-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "17220", "fixedVersions": [], "id": "17220", "issueType": "Task", "key": "SERVER-3183", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-12T10:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-12T10:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2022-03-30T10:54:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c01eb28"}, {"fieldName": "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-11481"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fhsm:"}, {"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_*:*_249304587_*|*_1_*:*_1_*:*_5213938_*|*_10007_*:*_1_*:*_7900590_*|*_3_*:*_1_*:*_827055_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_169858686"}], "description": "(Initial planned release date: 2022-04-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 6.19.0 is built and ready for testing.\n", "duedate": "2022-04-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "estimate": "PT0S", "externalId": "16895", "fixedVersions": ["None"], "id": "16895", "issueType": "Task", "key": "SERVER-3182", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24642", "parentSummary": "Puppet Platform 6.27.0 Release - 2022-04-12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2022-04-04T11:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 6.27.0)", "timeSpent": "PT0S", "updated": "2022-04-04T11:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-03-29T05:23:00.000000", "creator": "557058:7e524d50-cfa9-44c1-9d72-f30ab841ddf9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f826f1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk3ms:0026"}, {"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": "47606"}], "description": "There is the possibility to create empty commits to ss-data repo by following this process.\n\nGenerate a certificate request from a node but leave it as an unsigned certificate. Then run `puppet node purge <NODE>` and the following gets produced as a response to the command:\n\n\u00a0\n{code:java}\n[root@pe-server-9678d5-0 ~]# puppet node purge cent0s7-2-d05ff5-0.us-west1-c.c.customer-support-scratchpad.internal\nNotice: Cleaned files related to cent0s7-2-d05ff5-0.us-west1-c.c.customer-support-scratchpad.internal\nNode \"cent0s7-2-d05ff5-0.us-west1-c.c.customer-support-scratchpad.internal\" was purged.\nTo ensure a node can not check into any compilers, run 'puppet agent -t' on all compilers.\nTo re-add a node to your Puppet Enterprise infrastructure:\nOn the node:\n1. Run 'puppet ssl clean' to purge that node's local certificates.\n2. Run 'puppet agent -t' to generate a new certificate request.\n{code}\n\u00a0\n\nas per `puppetserver` log the following gets registered:\n\n\n\u00a0\n{code:java}\n2022-03-29T11:15:49.331Z INFO [clojure-agent-send-off-pool-20] [p.e.s.f.file-sync-storage-core] Automatically committing due to changes in staging-dir '/etc/puppetlabs/puppet/ssl' \n2022-03-29T11:15:49.332Z INFO [clojure-agent-send-off-pool-0] [p.e.s.f.file-sync-storage-core] Automatically committing due to changes in staging-dir '/etc/puppetlabs/puppet/ssl/ca' \n2022-03-29T11:15:49.332Z INFO [clojure-agent-send-off-pool-92] [p.e.s.f.file-sync-storage-core] Committing staging directory /etc/puppetlabs/puppet/ssl to file sync storage service \n2022-03-29T11:15:49.339Z INFO [clojure-agent-send-off-pool-92] [p.e.s.f.file-sync-storage-core] Committing repo /etc/puppetlabs/puppet/ssl \n2022-03-29T11:15:49.339Z INFO [clojure-agent-send-off-pool-92] [p.e.s.f.file-sync-storage-core] Committing the following changes: Added Files: Removed Files: Changed Files: Added Submodules: Updated Submodules: \n2022-03-29T11:15:49.343Z INFO [clojure-agent-send-off-pool-92] [p.e.s.f.file-sync-storage-core] Completed commit of repo :ssl-data 2022-03-29T11:15:49.367Z INFO [clojure-agent-send-off-pool-96] [p.e.s.f.file-sync-storage-core] Committing staging directory /etc/puppetlabs/puppet/ssl/ca to file sync storage service \n2022-03-29T11:15:49.370Z INFO [clojure-agent-send-off-pool-96] [p.e.s.f.file-sync-storage-core] Committing repo /etc/puppetlabs/puppet/ssl/ca \n2022-03-29T11:15:49.370Z INFO [clojure-agent-send-off-pool-96] [p.e.s.f.file-sync-storage-core] Committing the following changes: Added Files: Removed Files: Changed Files: Added Submodules: Updated Submodules: \n2022-03-29T11:15:49.373Z INFO [clojure-agent-send-off-pool-96] [p.e.s.f.file-sync-storage-core] Completed commit of repo :ca-data{code}\n\u00a0\n\u00a0\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16300", "fixedVersions": [], "id": "16300", "issueType": "Bug", "key": "SERVER-3181", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "committing empty commits to ssl-data", "timeSpent": "PT0S", "updated": "2022-05-31T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "61af86343618cd006f430854", "body": "updated summary to be more descriptive of the problem & possible trigger", "created": "2022-03-25T08:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It would be really valuable to have the puppet.conf from this deployment, Puppet Server's conf.d/, along with more of the server logs. I noticed that the user isn't using Box but seems to have uploaded slices of their support tarball. Should I be piecing those together?\n\nIf something was causing a reparse of the config files and there was some loop that the JRuby instances could get into attempting to parse and/or update the puppet.conf I don't know how that would cause a stackoverflow within _clojure_. \n\nDo you know if their processes that \"touch\" the puppet.conf could be updating any values in it? Or values in the server's conf.d?\n\nThe stackoverflow looks as if we are trying to recursively concat a list onto itself, I'm not sure how that's even possible in our own code. Do you have an idea with what version that behavior was first introduced? (I'm guessing 2019.8.9?) Do you know if they're setting any custom metric id filtering/exporting, custom alt-names on certificates, or are using Bolt projects from PE? (these are places in our code where we concat user submitted values)", "created": "2022-03-25T12:32:00.000000"}], "components": [], "created": "2022-03-25T07:04:00.000000", "creator": "557058:7e524d50-cfa9-44c1-9d72-f30ab841ddf9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@391aadd5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0fe4e:"}, {"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": "47106,47593"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Mar/22"}], "description": "This customer has reported unplanned `pe-puppetserver` service restarts in different ocassions but in the past there seems to be a correlation between the `pe-puppetserver` service restart and a \"pressumed\" puppet.conf re-parsing (ZD ticket 47106) => customer has processes that could simulate a touch on the file which seems to be enough to trigger a re-parse of the file\n{code:java}2022-01-23T02:23:53+0000 gbl20124319 puppet-agent[1521]: Config file /etc/puppetlabs/puppet/puppet.conf changed; triggering re-parse of all config files.{code}\n{{}}\u00a0\n{code:java}2022-01-23T02:23:53.800Z ERROR [clojure-agent-send-off-pool-1] [p.t.internal] shutdown-on-error triggered because of exception!\njava.lang.StackOverflowError: null\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)}}{code}\n{{However, in this latest instance, the `puppet.conf` file gets re-parsed at a later moment (e.g. 10 secs after approx) as per below.}}\n\n{{}}\n{code:java}2022-03-06T02:34:33+0000 gbl20124319 puppet-agent[3634]: Config file /etc/puppetlabs/puppet/puppet.conf changed; triggering re-parse of all config files.{code}\n\u00a0\n{code:java}2022-03-06T02:34:23.725Z ERROR [clojure-agent-send-off-pool-0] [p.t.internal] shutdown-on-error triggered because of exception!\njava.lang.StackOverflowError: null\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)\nat clojure.lang.RT.seq(RT.java:535)\nat clojure.core$seq__5402.invokeStatic(core.clj:137)\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)\nat clojure.lang.RT.seq(RT.java:535)\nat clojure.core$seq__5402.invokeStatic(core.clj:137)\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)\nat clojure.lang.RT.seq(RT.java:535)\nat clojure.core$seq__5402.invokeStatic(core.clj:137)\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)\nat clojure.lang.RT.seq(RT.java:535){code}\nThe above cycle of messages below get repeated and repeated as above\n{code:java}at clojure.core$seq__5402.invokeStatic(core.clj:137)\nat clojure.core$concat$fn__5493.invoke(core.clj:725)\nat clojure.lang.LazySeq.sval(LazySeq.java:42)\nat clojure.lang.LazySeq.seq(LazySeq.java:51)\nat clojure.lang.RT.seq(RT.java:535){code}\nuntil interrupted by the below without any additional data\n\n\u00a0\n{code:java}\n2022-03-06T02:34:23.740Z INFO [main] [p.t.internal] Beginning shutdown sequence\n2022-03-06T02:34:23.757Z INFO [async-dispatch-6] [p.c.services] Shutting down code-manager...\n2022-03-06T02:34:23.758Z INFO [async-dispatch-6] [p.c.shell-workers] Attempting to shut down deploy-pool workers...\n2022-03-06T02:34:23.759Z INFO [async-dispatch-6] [p.c.shell-workers] deploy-pool workers sucessfully shut down.\n2022-03-06T02:34:23.759Z INFO [async-dispatch-6] [p.c.services] code-manager shut down.\n{code}\n\u00a0\nThe previous `clojure-agent-send-off-pool-0` ref to the error is as per below:\n\n\u00a0\n{code:java}\n2022-03-06T02:34:19.993Z INFO [clojure-agent-send-off-pool-0] [p.e.s.f.file-sync-storage-core] Automatically committing due to changes in staging-dir '/etc/puppetlabs/puppet/ssl/ca'\n{code}\n\u00a0\nIs there any additional info that can be extracted from the above `StackOverflowError`/ situation? or could we still consider the last `re-parsing` / service restart as part of the same situation even though, in the last ocassion, the re-parsing gets logged 10 secs after?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15449", "fixedVersions": [], "id": "15449", "issueType": "Bug", "key": "SERVER-3180", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db9494f7e20069fe964a", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "`pe-pupperserver` has StackOverflowError; possibly related to forcing reparse of puppet.conf via touch command", "timeSpent": "PT0S", "updated": "2022-03-28T12:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-03-09T08:11:00.000000", "creator": "61af86343618cd006f430854", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64d69bbc"}, {"fieldName": "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-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Configurable Timeouts"}, {"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": "blue"}, {"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|o0f1vq:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19971536005_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16647", "fixedVersions": [], "id": "16647", "issueType": "Epic", "key": "SERVER-3178", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af86343618cd006f430854", "resolution": "Won't Do", "resolutionDate": "2022-10-26T12:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server configurable timeouts", "timeSpent": "PT0S", "updated": "2022-10-26T12:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hey [~accountid:618d77713ae523006917eb86], thanks for opening this! Did this issue just start, or has it been happening for a while? We'd love to know which versions worked, if any.", "created": "2022-03-03T11:22:00.000000"}, {"author": "618d77713ae523006917eb86", "body": "Hi Molly.\n\nThe issue just started for us but we only just started running r10k from cron so I don't know if it affects older puppetserver versions or not.\u00a0\u00a0\n\nSorry to not be much help.", "created": "2022-03-10T10:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "If you stop flushing the environments, does it still happen? I know this isn't a valid workflow, but I'm trying to get a sense of whether it's the r10k deploy or the env flush that is causing the problem...", "created": "2022-03-11T15:38:00.000000"}, {"author": "618d77713ae523006917eb86", "body": "Hello.\u00a0 \u00a0 The problem seems to stop (it's a race condition so we don't always hit it) when we don't flush the cache, but then we end up with stale code in our manifests.\u00a0\u00a0\n\nThe server doesn't seem to be waiting for the cache to be complete before serving partial data during pluginsync (and more rarely but does happen) during catalog compilation.\u00a0 As I mentioned above it's often the last classes alphabetically (vswitch) that are missing.\n\n\u00a0\n\n\u00a0", "created": "2022-03-14T10:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks, that's helpful. Fwiw in Puppet Enterprise we have mechanisms in place that go to some lengths to avoid situations like this (including locking compiles like you describe in one mode). However, I still would have expected the envs to reload correctly if flushed while doing pluginsync like you describe. After all, the plugins themselves should be correctly present on disk.\n\nI'm not sure when we'll have a chance to dig into this. I am somewhat concerned that this might also impact the lockless mode in PE, however: I think we may have seen something like that a while back, but not sure it's shown up in a while.", "created": "2022-04-12T10:36:00.000000"}], "components": [], "created": "2022-03-03T09:28:00.000000", "creator": "618d77713ae523006917eb86", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d7dd37f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0k8ri24i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/22"}], "description": "*Puppet Version: 7.14.0*\n*Puppet Server Version: 7.6.0*\n*OS Name/Version: AlmaLinux 8*\n\nWe update our environments every 5 minutes using r10k and have a postrun script that runs at the end to flush the cache to ensure that any updates are loaded.\u00a0 When this cache flush happens, any agent that is compiling a catalog at that moment missing parts of the catalog.\u00a0 This is mostly seen in pluginsync with a bunch of files being removed but also ocasionally results in entire modules dissapearing and catalog compilatoin failing.\u00a0 Generally it's modules at the end of the alphabet (eg: vswitch)\n\n\nDescribe steps to reprodue: Flush the environment cache and run puppet agent -t at the same time.\n\n*Desired Behavior:\u00a0 The catalog should pause while the cache is being refreshed.*\n\n*Actual Behavior: Partial data is served to the aent.*\n\n[QA] aruwsauth:~ [reboot!] # puppet agent -t \nInfo: Using environment 'testing' \nInfo: Retrieving pluginfacts \nNotice: /File[/opt/puppetlabs/puppet/cache/facts.d/os_immutable.txt]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/facts.d/os_service_default.txt]/ensure: removed \nInfo: Retrieving plugin \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_package_type.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_service_default.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_workers.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/ovs.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/ovs_uuid.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/pci_address.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/inet6_prefix.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/is_service_default.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/normalize_ip_for_uri.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/os_database_connection.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/os_transport_url.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/range_to_mask.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack_config]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/policy_rcd]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_bridge]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_config]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_port]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_ssl]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/openstack_config.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/policy_rcd.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_bridge.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_config.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_port.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_ssl.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/openstackconfig]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/openstackconfig.rb]/ensure: removed \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppetx/redhat]/ensure: removed \nInfo: Loading facts \n^CNotice: Caught INT; exiting \n^[[A[QA] aruwsauth:~ [reboot!] # puppet agent -t \nInfo: Using environment 'testing' \nInfo: Retrieving pluginfacts \nNotice: /File[/opt/puppetlabs/puppet/cache/facts.d/os_immutable.txt]/ensure: defined content as '\\{sha256}ec1edfda7078b67696035687c4afea48e16d882d2989b601caa4e8eb828fea18' \nNotice: /File[/opt/puppetlabs/puppet/cache/facts.d/os_service_default.txt]/ensure: defined content as '\\{sha256}8e2d7ac8318a71a307b4431c0e156c4e5a99a94385b8c32429307a9ccc4f6ac5' \nInfo: Retrieving plugin \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_package_type.rb]/ensure: defined content as '\\{sha256}57de2388a04d3aeeb74dc068f7476e37ebbe4d23325bba3bc11aeed93891e75e' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_service_default.rb]/ensure: defined content as '\\{sha256}1d6742092402043da3e64931690ab7622204f77669f0703974ac9d26d3012926' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/os_workers.rb]/ensure: defined content as '\\{sha256}af4d2c4d8553c5d321528faf3a50e692528377d026966e49172f0101e98e2560' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/ovs.rb]/ensure: defined content as '\\{sha256}e39666748426c6034eef93cdc5c82c5917f7cd7c0bf6f631e11f3405352004dd' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/ovs_uuid.rb]/ensure: defined content as '\\{sha256}848dbbd3c8cf32f8e8caaa0e503fbfbd52750767b0877823c6bbd7d377991a9d' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/facter/pci_address.rb]/ensure: defined content as '\\{sha256}f98046d25ca95d26261dbe7eb53e6b62be5050822ac560b15b1c03b2ada7bbda' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/inet6_prefix.rb]/ensure: defined content as '\\{sha256}23207107c486224e0d2bd7e3e96818b059f04f0aaed2056cd73c68104796cf4f' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/is_service_default.rb]/ensure: defined content as '\\{sha256}e91f816ee6956a0cd5ff38cf069b49a503fcde2cb5eff22e1e18ee3c35026e85' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/normalize_ip_for_uri.rb]/ensure: defined content as '\\{sha256}73e7a7cd424fa376989b7576f367639b0ea6689d455d88a474eece302afee11a' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/os_database_connection.rb]/ensure: defined content as '\\{sha256}2b5e683676b3d3e682005c3eb4b4b501b8a346bd17696da0a2b624d26e8988f3' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/os_transport_url.rb]/ensure: defined content as '\\{sha256}2aca15321768c336f081fe22b51927adf5988c51bfe9c3ba2cd3ae1230ecc908' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/functions/range_to_mask.rb]/ensure: defined content as '\\{sha256}59ce31707eff47ef886c31ca625fd47da9320adc4ff6d2c78dec8ffd571090f0' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack.rb]/ensure: defined content as '\\{sha256}101ce9735507787794a2fc42743786e81d1405ccb5de229ce7e46b59333e070c' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack/auth.rb]/ensure: defined content as '\\{sha256}3d82422674903d4350554c8f4ed89a59f9fdfcbce8e03633f8f0436e5408c142' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack/credentials.rb]/ensure: defined content as '\\{sha256}debe61f75bd90d8c068da2cb69d0e19ddba7b6623648247bb30f33cff1877fb6' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack_config]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack_config/ini_setting.rb]/ensure: defined content as '\\{sha256}1180c0b6d41b5c5b3441f010a57e8edd9b084d8e3ae38264252a99bbc0e7aba8' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/openstack_config/ruby.rb]/ensure: defined content as '\\{sha256}1bef8d9580c2f00e8f0c23ef13c2edec539a0247e605b9593445ce6302cf73c0' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/policy_rcd]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/policy_rcd/policy_rcd.rb]/ensure: defined content as '\\{sha256}74284747dcef7e76f77d94fda2a7916a7db95143b788adfa01c312ffcbf900bf' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_bridge]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_bridge/ovs.rb]/ensure: defined content as '\\{sha256}b54ed5de59af2d054c0f110ccd21e5142d72ed6b07eb8274f8786db6aa60426e' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_config]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_config/ovs.rb]/ensure: defined content as '\\{sha256}f12da88d1ea337382ec64f144eb6d23d85adc1585066ad0341376a45dd1e6f73' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_port]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_port/ovs.rb]/ensure: defined content as '\\{sha256}8a0cab0f606e553afcf13bab13a417ac60af60be037c652c00023778dd824643' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_port/ovs_redhat.rb]/ensure: defined content as '\\{sha256}bc73305dcaa614838c148d0dc0a142feab6bbe640cee9a42828d4601c0177c43' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_ssl]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/provider/vs_ssl/ovs.rb]/ensure: defined content as '\\{sha256}ed46a14bd39631b92439f4bcd62a29df96e1397f91564138e9dbab22c6c0b32b' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/openstack_config.rb]/ensure: defined content as '\\{sha256}a998d1564c25139638c2f32f32e193caafe188f2f5a9a4383dc7c384e00ceb94' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/policy_rcd.rb]/ensure: defined content as '\\{sha256}515ff688d6e9e28358f4ebddad76814512e7b30b651439ba0fc9338c666764d0' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_bridge.rb]/ensure: defined content as '\\{sha256}2836fe69626c9f48befa48d3dd1e3accb6fea06e2f97b7afd10ae61a2f19320f' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_config.rb]/ensure: defined content as '\\{sha256}e6b699c39a5448926f47faffb3bbb2eb05bc5f6bc28de983c8aacc1a97572daf' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_port.rb]/ensure: defined content as '\\{sha256}261132ffd43172ea84bbce6d6e93ccccab0b695dcfcf8f8e1b0765267f4948dd' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/type/vs_ssl.rb]/ensure: defined content as '\\{sha256}6cab166aafebb21ae39f4c6d220bcbb8de17c9877e760a31f2e79e93cd8c3ead' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/openstackconfig]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/openstackconfig.rb]/ensure: defined content as '\\{sha256}3c4df67269ad2ccb941326b085b730a96aac20252660b0a1e9e7be112ebcd978' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppet/util/openstackconfig/section.rb]/ensure: defined content as '\\{sha256}cffde1007c0aeef4dc5fa349306dc69d8eb04a639e9d62a774cafc2f7737b4d4' \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppetx/redhat]/ensure: created \nNotice: /File[/opt/puppetlabs/puppet/cache/lib/puppetx/redhat/ifcfg.rb]/ensure: defined content as '\\{sha256}f726b365f157bb7a72e82e8a89afbfd98b6681aff42f9cbd6d50b350827fe4a5' \nInfo: Loading facts", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16113", "fixedVersions": [], "id": "16113", "issueType": "Bug", "key": "SERVER-3177", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "618d77713ae523006917eb86", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Flushing the Environment cache causes plugins to be deleted on agents", "timeSpent": "PT0S", "updated": "2022-04-12T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hey [~accountid:61b085826d002b006b41ed33]! Feel free to open a PR and we'll take a look! Thanks!", "created": "2022-02-24T11:20:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Our internal EZBake tooling doesn't support producing ARM artifacts on Linux platforms, so unfortunately this won't be possible right now.\n\nSee https://github.com/puppetlabs/puppetserver/pull/2617 \n\n", "created": "2022-03-31T11:17:00.000000"}], "components": [], "created": "2022-02-23T05:36:00.000000", "creator": "61b085826d002b006b41ed33", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d04d889"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8ri240i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3127296523_*|*_6_*:*_1_*:*_0"}], "description": "Hi Team,\n\nI am trying to use the\u00a0*puppetlabs/puppetserver* image on arm64 platform, but it seems it is not available for arm64.\n\nI have successfully built the image for arm64 platform, using the command {color:#172b4d}{color:#0747a6}_docker build -t image_name_ {color}_._{color}\n\nI have modified the\u00a0{*}Dockerfile{*},\u00a0*Makefile*\u00a0and\u00a0*.github/workflows/docker.yml*\u00a0files to build and push the docker image of puppetlabs/puppetserver for both the platforms using buildx.\n\n*Commit Link* \u2013\u00a0[https://github.com/odidev/puppetserver/commit/3e54d73db4505e96bf0619930e63ab5c26451912]\n\n*Docker Hub Link*\u00a0-[https://hub.docker.com/repository/docker/odidev/puppetserver/tags?page=1&ordering=last_updated]\n\nDo you have any plans on releasing arm64 images?\n\nIf interested, I will raise a PR.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16646", "fixedVersions": [], "id": "16646", "issueType": "New Feature", "key": "SERVER-3176", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61b085826d002b006b41ed33", "resolution": "Won't Do", "resolutionDate": "2022-03-31T11:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Require image for ARM64 ", "timeSpent": "PT0S", "updated": "2022-03-31T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:16:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d5fa9ee"}, {"fieldName": "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-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0f1ut:i"}, {"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_*:*_152150707_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2417150360"}], "description": "(Initial planned release date: 2022-03-15)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.6.1\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "14848", "fixedVersions": [], "id": "14848", "issueType": "Task", "key": "SERVER-3175", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-24T11:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-24T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "There is another Platform release planned before the next PE release, so this can be closed.", "created": "2022-02-24T11:36:00.000000"}], "components": [], "created": "2022-02-22T17:16:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37c5f991"}, {"fieldName": "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-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0em1y:"}, {"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/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_152150063_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_300506"}], "description": "(Initial planned release date: 2022-03-15)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "17473", "fixedVersions": [], "id": "17473", "issueType": "Task", "key": "SERVER-3174", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2022-02-24T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-02-24T11:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:16:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34a0323d"}, {"fieldName": "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-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0f1ut:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_152146275_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2335280843"}], "description": "(Initial planned release date: 2022-03-15)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.6.1\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.6.1\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-03-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "17219", "fixedVersions": [], "id": "17219", "issueType": "Task", "key": "SERVER-3173", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-23T13:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-23T13:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2022-02-22T17:16:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f4b74b0"}, {"fieldName": "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-11460"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0f1us:i"}, {"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_*:*_152133953_*|*_3_*:*_2_*:*_125404332_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1119537082_*|*_10005_*:*_1_*:*_501003194"}], "description": "(Initial planned release date: 2022-03-15)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.6.1 is built and ready for testing.\n", "duedate": "2022-03-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "estimate": "PT0S", "externalId": "16893", "fixedVersions": [], "id": "16893", "issueType": "Task", "key": "SERVER-3172", "labels": ["release"], "originalEstimate": "PT0S", "parent": "26589", "parentSummary": "Puppet Platform 7.15.0 Release - 2022-03-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-16T17:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.15.0)", "timeSpent": "PT0S", "updated": "2022-03-16T17:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-02-22T15:48:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ffbae6e"}, {"fieldName": "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": "Puppet Server Docker Improvements"}, {"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": "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|o0elq6:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16231486589_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16299", "fixedVersions": [], "id": "16299", "issueType": "Epic", "key": "SERVER-3171", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-08-29T13:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server Docker Improvements", "timeSpent": "PT0S", "updated": "2022-10-25T14:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "attachments": [], "comments": [{"author": "605bbb3d2f7d9000709ed091", "body": "[~accountid:61952c64b0b630006a62649d] [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] I'm putting this on pause because we need some communication to go out in advance of this.\u00a0", "created": "2022-02-17T11:11:00.000000"}, {"author": "605bbb3d2f7d9000709ed091", "body": "Pausing this until we get some ducks in a row on communications.\u00a0", "created": "2022-02-17T11:12:00.000000"}, {"author": "605bbb3d2f7d9000709ed091", "body": "Ok - reopened this ticket. We would like to include this update in the April release 7.16.0 please. [~accountid:61952c64b0b630006a62649d] [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0", "created": "2022-03-10T08:55:00.000000"}], "components": [], "created": "2022-02-16T11:21:00.000000", "creator": "605bbb3d2f7d9000709ed091", "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": "Telemetry is Opt-out"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27ead171"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8rip"}, {"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": "Metrics will now be collected with Dropsonde by default. To opt out of metrics collection, configure dropsonde: { enabled: false } in puppetserver.conf. By default, Dropsonde collects metrics when the service is started and once a week thereafter. "}, {"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_*:*_411026551_*|*_1_*:*_2_*:*_1752604304_*|*_10007_*:*_1_*:*_2925471_*|*_3_*:*_1_*:*_946758_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_1806133297_*|*_10006_*:*_1_*:*_83980355_*|*_10005_*:*_1_*:*_104080"}], "description": "We want to switch dropsonde telemetry from opt-in to opt-out effective with the April release 7.16.0.\n\nUpdate the default in puppetserver here [https://github.com/puppetlabs/puppetserver/blob/aa1f9ac4f1a64bb52fe603da558693229de150a9/src/clj/puppetlabs/services/analytics/analytics_service.clj#L34] and make sure the config file has the right info about the default.", "duedate": "2022-03-01T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15448", "fixedVersions": ["SERVER 7.7.0"], "id": "15448", "issueType": "Task", "key": "SERVER-3170", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "605bbb3d2f7d9000709ed091", "resolution": "Fixed", "resolutionDate": "2022-04-04T11:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Change Dropsonde telemetry to Opt-out", "timeSpent": "PT0S", "updated": "2022-04-04T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "body": "another observation we made:\n\nwhen checking \"netstat -tn|grep 8140 | grep EST\" usually we see between 10 and 30\u00a0 established connections, that usually have a Recv and Send queue with 0 bytes in them.\n\nwhen a puppetserver starts showing issues, there will be more then 100 connections in establish state, where a lot of the connections have something in there recv queue.\n\nthe puppetserver will not work on those connections, and the recv queue is not getting worked on, it seems like, that at some point in time, the client gives up, and closes the connections.\n\n\u00a0\n\nthis might be the reason for the \"Early EOF\" messages in the puppetservers log. but the question is, why is puppetserver not serving those connections.", "created": "2022-02-14T09:52:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83] Thanks for reporting this! \n\n64 jrubies sounds like a lot - could you try reducing that to 24?\n\nWe've also seen {{Early EOF}} errors related to firewall issues - is that something you could check on?\n\nAnd then lastly, you could try putting your GC logs into https://gceasy.io/ to identify memory issues, particularly regarding your code cache, or metaspace, which is similar.", "created": "2022-02-17T11:18:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83] Let us know if you've tried any of the above suggestions and what the outcomes were. If we don't hear from you, we're going to close this ticket.", "created": "2022-03-03T11:25:00.000000"}, {"author": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "body": "adding \"-XX:ReservedCodeCacheSize=1024m\" to the java opts solved the issue for me.\n\n\u00a0\n\nit is interesting, that this option is mentioned in the puppetserver 5 documentation, but has been removed in puppetserver 6 and 7 documentation.\n\n\u00a0\n\nmaybe re add this setting to the documentation?", "created": "2022-03-04T02:38:00.000000"}], "components": [], "created": "2022-02-14T09:35:00.000000", "creator": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48b904e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0lil"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Feb/22"}], "description": "our puppetserver partly stop serving agent requests, after running for a while.\n\n\u00a0\n\non the agent side, you will see timeouts, when talking to puppetserver. usually we will see a timeout of 120 seconds.\n\n\u00a0\n\nthese errors happen, after puppet server is running for for a while, usually we can see this with puppetserver uptime >1h, but we have also seen this happen after several minutes.\n\n\u00a0\n\nrestarting our puppetserver instances will solve this for a while, but the issues will occur again after a few hours.\n\n\u00a0\n\nwe are using dns service discovery, we have increased the ulimit nofile to 102400, and we are have 64 jruby instances configured currently.\n\n\u00a0\n\non the puppetserver side, you will see error messages like this:\n\n2022-02-14T02:26:24.401+01:00 ERROR [qtp1474895435-10368] [p.r.core] Internal Server Error: org.eclipse.jetty.io.EofException: Early EOF\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1207)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1195)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:333)\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.io.InputStreamReader.read(InputStreamReader.java:184)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.io.BufferedReader.fill(BufferedReader.java:161)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.io.BufferedReader.read1(BufferedReader.java:212)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.io.BufferedReader.read(BufferedReader.java:286)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.io.Reader.read(Reader.java:140)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.java.io$fn__11538.invokeStatic(io.clj:337)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.java.io$fn__11538.invoke(io.clj:334)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.MultiFn.invoke(MultiFn.java:239)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.java.io$copy.invokeStatic(io.clj:406)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.java.io$copy.doInvoke(io.clj:391)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.RestFn.invoke(RestFn.java:425)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core$slurp.invokeStatic(core.clj:6951)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core$slurp.doInvoke(core.clj:6942)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.RestFn.invoke(RestFn.java:439)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invokeStatic(request_handler_core.clj:78)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invoke(request_handler_core.clj:54)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invokeStatic(request_handler_core.clj:86)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invoke(request_handler_core.clj:81)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_core$jruby_request_handler$fn__41876.invoke(request_handler_core.clj:269)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__36839.invoke(jruby_request.clj:49)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__36835.invoke(jruby_request.clj:34)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.request_handler.request_handler_service$reify__41901$service_fnk__5102__auto___positional$reify__41916.handle_request(request_handler_service.clj:43)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.protocols.request_handler$fn__41814$G__41810__41817.invoke(request_handler.clj:3)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.protocols.request_handler$fn__41814$G__41809__41821.invoke(request_handler.clj:3)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.core$partial$fn__5839.invoke(core.clj:2624)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.trapperkeeper.authorization.ring_middleware$fn__26286$wrap_authorization_check__26291$fn__26292$fn__26293.invoke(ring_middleware.clj:290)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.ring_middleware.core$fn__23720$wrap_bad_request__23729$fn__23732$fn__23738.invoke(core.clj:187)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.ring_middleware.core$fn__23818$wrap_uncaught_errors__23827$fn__23830$fn__23835.invoke(core.clj:233)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.ring_middleware.core$fn__23388$wrap_request_logging__23393$fn__23394$fn__23396.invoke(core.clj:47)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.i18n.core$locale_negotiator$fn__4494.invoke(core.clj:361)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.ring_middleware.core$fn__23417$wrap_response_logging__23422$fn__23423$fn__23424.invoke(core.clj:53)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__37088.invoke(ringutils.clj:83)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.master.master_core$fn__43468$v3_ruby_routes__43473$fn__43474$fn__43495.invoke(master_core.clj:1068)\n\u00a0 \u00a0 \u00a0 \u00a0 at bidi.ring$fn__17717.invokeStatic(ring.cljc:25)\n\u00a0 \u00a0 \u00a0 \u00a0 at bidi.ring$fn__17717.invoke(ring.cljc:21)\n\u00a0 \u00a0 \u00a0 \u00a0 at bidi.ring$fn__17702$G__17697__17711.invoke(ring.cljc:16)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.comidi$make_handler$fn__19633.invoke(comidi.clj:245)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.metrics.http$fn__42168$wrap_with_request_metrics__42173$fn__42177$fn__42179$fn__42180$fn__42181.invoke(http.clj:152)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\u00a0 \u00a0 \u00a0 \u00a0 at com.codahale.metrics.Timer.time(Timer.java:101)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.metrics.http$fn__42168$wrap_with_request_metrics__42173$fn__42177$fn__42179$fn__42180.invoke(http.clj:152)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\u00a0 \u00a0 \u00a0 \u00a0 at com.codahale.metrics.Timer.time(Timer.java:101)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.metrics.http$fn__42168$wrap_with_request_metrics__42173$fn__42177$fn__42179.invoke(http.clj:148)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.comidi$fn__19698$wrap_with_route_metadata__19703$fn__19704$fn__19706.invoke(comidi.clj:332)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__29673.invoke(jetty9_core.clj:455)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)\n\u00a0 \u00a0 \u00a0 \u00a0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.lang.reflect.Method.invoke(Method.java:498)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\n\u00a0 \u00a0 \u00a0 \u00a0 at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__29243$normalize_uri_handler__29248$fn__29249$fn__29250.invoke(normalized_uri_helpers.clj:74)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:190)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:713)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:54)\n\u00a0 \u00a0 \u00a0 \u00a0 at com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.Server.handle(Server.java:516)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:386)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)\n\u00a0 \u00a0 \u00a0 \u00a0 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)\n\u00a0 \u00a0 \u00a0 \u00a0 at java.lang.Thread.run(Thread.java:748)\n\n\nanother error message that we see regularly is this:\n\n2022-02-14T15:10:47.118+01:00 ERROR [qtp915921934-376] [p.r.core] Internal Server Error: java.lang.IllegalStateException: Unable to borrow JRubyInstance from pool\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34141$borrow_from_pool_BANG__STAR___34146$fn__34147.invoke(jruby_internal.clj:313)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34141$borrow_from_pool_BANG__STAR___34146.invoke(jruby_internal.clj:300)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34188$borrow_from_pool_with_timeout__34193$fn__34194.invoke(jruby_internal.clj:348)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34188$borrow_from_pool_with_timeout__34193.invoke(jruby_internal.clj:337)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.instance_pool$fn__34952.invokeStatic(instance_pool.clj:48)\n\u00a0 \u00a0 \u00a0 \u00a0 at puppetlabs.services.jruby_pool_manager.impl.instance_pool$fn__34952.invoke(instance_pool.clj:10)\n\u00a0 \u00a0 \u00a0 \u00a0 at", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15447", "fixedVersions": [], "id": "15447", "issueType": "Bug", "key": "SERVER-3169", "labels": ["docs"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver hangs", "timeSpent": "PT0S", "updated": "2022-06-02T10:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "Being tracked by an internal PE ticket as specific work for the Jetty upgrade.", "created": "2022-11-28T10:26:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We _should_ be able to do the FOSS facing work in a backwards compatible manner so we are also removing this from Puppet Server 8 epic.", "created": "2022-12-09T13:38:00.000000"}], "components": [], "created": "2022-02-10T14:36: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@69a64f0a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Nov/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_69465426_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_25057904878"}], "description": "We are currently on Jetty 9.4. There are 10.x and 11.x streams as well, we should maybe see if it makes sense to update to one of the later streams (preferably _the_ latest) for Puppet 8.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14847", "fixedVersions": [], "id": "14847", "issueType": "Task", "key": "SERVER-3168", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-11-28T10:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "[SPIKE] upgrade Jetty to latest", "timeSpent": "PT0S", "updated": "2022-12-09T13:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Prior to doing this work, Puppet, Facter, and Bolt should be successfully running their unit tests against Ruby 3.2.", "created": "2023-01-13T11:21:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I left extensive comments as I worked through & tested this ticket in the PR here [https://github.com/puppetlabs/puppetserver/pull/2687]\n\ntl", "created": "2023-02-08T14:43:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The fix for JRuby bug was merged and they anticipate releasing it in 2-8 weeks from when it was merged. Just before it merged they released 9.4.1.0 so I've updated the PR with that. I think we should merge it and the PE folks can start integrating JRuby 9.4/Ruby 3 into the PE as soon as they'd like. If there's an issue and we have to release Puppet Server 8 prior to JRuby releasing the fix to we will have to revert.", "created": "2023-02-13T17:56:00.000000"}], "components": [], "created": "2022-02-10T14: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@415b8c96"}, {"fieldName": "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": "SERVER-3165"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0lif"}, {"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": "The vendored JRuby has been upgraded to 9.4.x which brings with it Ruby 3.x compatibility."}, {"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/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_76557526_*|*_1_*:*_1_*:*_146732_*|*_10007_*:*_2_*:*_152833217_*|*_3_*:*_1_*:*_1572657494_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_443234990_*|*_10006_*:*_1_*:*_688443124_*|*_10005_*:*_1_*:*_29021917572"}], "description": "Update to the 9.4 stream of jruby [https://www.jruby.org/2022/11/23/jruby-9-4-0-0]\n\nWe should update jruby-deps as part of this, but _not_ update jruby-utils or at least clj-parent so that all of PE doesn't have to deal with this upgrade as we're working on it in FOSS. Puppet Server should pin jruby-deps specifically until we have this fulling integrated into all downstream clj-parent projects (PE).\n\n\u00a0\n\nPotential sub-tasks to break out:\n\n* We may need to update some Ruby code that is shipped in Puppet Server's \"src/ruby\", we may use removed Ruby constructs like {{File.exists?}} see [compatibilty issues|https://github.com/ruby/ruby/blob/v3_2_0_preview3/NEWS.md#compatibility-issues] and [release notes|https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/].\n\n* Run performance benchmarks (particularly full_catalog) from the Puppet repo's benchmark rake tasks using the new JRuby. Update performance tuning recommendations as necessary, these may be important to the PE uptake and if major changes are needed should be noted in those tickets.", "epicLinkSummary": "Puppet Server 8", "estimate": "PT0S", "externalId": "17471", "fixedVersions": ["SERVER 8.0.0"], "id": "17471", "issueType": "Story", "key": "SERVER-3167", "labels": [], "originalEstimate": "PT0S", "parent": "16890", "parentSummary": "Puppet Server 8", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2023-02-15T11:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade JRuby to 9.4", "timeSpent": "PT0S", "updated": "2023-02-15T11:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Updating this file https://github.com/puppetlabs/puppetserver/blob/6.x/resources/ext/build-scripts/dropsonde-gem.txt to point to the new version should do the trick.", "created": "2022-02-10T14:33:00.000000"}], "components": [], "created": "2022-02-10T14:31:00.000000", "creator": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22281fd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0ec8e:"}, {"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": "10/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_430568377_*|*_1_*:*_1_*:*_112000_*|*_10007_*:*_1_*:*_3564385_*|*_3_*:*_1_*:*_377334_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_81004917_*|*_10005_*:*_1_*:*_509006470"}], "description": "This includes the new stable url updates.puppet.com\n\nhttps://rubygems.org/gems/dropsonde/versions/0.0.7", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17218", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "17218", "issueType": "Improvement", "key": "SERVER-3166", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "resolution": "Fixed", "resolutionDate": "2022-02-22T11:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Dropsonde has been updated to v0.0.7", "timeSpent": "PT0S", "updated": "2022-02-22T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e7689562ab90069f9ec45", "body": "What is the issue this is dupe'd against?", "created": "2022-11-02T19:52:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:623e7689562ab90069f9ec45] the epic itself is being tracked internally as part of a larger overall effort.  The individual tickets are being moved or replaced within that internal work.  Is there something in particular you are interested in?", "created": "2022-11-28T10:28:00.000000"}, {"author": "623e7689562ab90069f9ec45", "body": "[~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8] I'm an OSP user.\u00a0 I'm interested in seeing how 8 is progressing and how imminent it is because that helps me plan when we will need to devote time to major version upgrades.\u00a0 I don't have a reference point in terms of an account rep or road map, and previous major releases have been trackable publicly.\u00a0 Since this isn't visible, it's causing a blind spot in our 2023 planning, and the beginnings of \"well, what if this is the early sign of discontinuing OSP?\" planning.", "created": "2022-11-28T14:00:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:623e7689562ab90069f9ec45] you might find the puppet dev mailing list helpful for upcoming plans.  There have been two recent announcements around Puppet 8 support going forward, and a projected release date of February.  https://groups.google.com/g/puppet-dev\n\nThe agent work is public as well:  https://puppet.atlassian.net/browse/PA-4664\n\n[~accountid:63d40628f6e1b543161789a7] might be able to give you some additional ideas of where to track what is going on with the projects.  In terms of Puppet 8 support and Puppetserver:  We will have `SERVER` tickets that are visible, so you can watch those.  High level planning is likely to be internal. \n\nIn terms of this ticket, it didn't represent the correct set of work and was more misleading than informative.\n\nI hope that helps.", "created": "2022-11-28T14:16:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've updated this ticket to _hopefully_ be more informative than misleading. Just want everyone to understand that Product may add or remove items willy nilly between now and when we ship Puppet Platform 8.\u00a0 ", "created": "2022-12-09T13:44:00.000000"}], "components": [], "created": "2022-02-10T14:30:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Skeletor"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7af9e239"}, {"fieldName": "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-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Puppet Server 8"}, {"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_yellow"}, {"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|hyk3it:tur"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Nov/22"}], "description": "Things under consideration for the next major version of Puppet Server.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16890", "fixedVersions": ["SERVER 8.0.0"], "id": "16890", "issueType": "Epic", "key": "SERVER-3165", "labels": ["23Q1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Developing", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server 8", "timeSpent": "PT0S", "updated": "2023-01-31T04:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e79498d8b9c0068b9f45e", "body": "I figured this out by watching what the server was doing with inotifywatch - the problem was the private keys. \u00a0\n\nMy cert chain had been constructed with EC keys instead of RSA keys. \u00a0I converted the intermediate CA key to PKCS8 format unencrypted but the import process still didn't create a valid ca_key.pem or ca_pub.pem file. \u00a0It *somehow* still managed to sign the puppetserver's cert during the import but it didn't throw an error until I went to start working with the first new client.\n\nSo, can EC key support be added as a RFE for a future release ? \u00a0It also would have been super helpful if the underlying system had said what file it was referencing when it barfed.", "created": "2022-02-03T15:52:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:623e79498d8b9c0068b9f45e] the agent does support EC keys, but not in situations where the agent and server are running on the same host, since the server shares the agent's key and cert and puppetserver does not support EC keys (or the recently proposed Ed25519 keys, see PUP-11439). AFAIK we don't have plans on adding EC key support to puppetserver anytime soon. I'd recommend only using EC keys in cases where you're provisioning an \"agent-only\" host.\n\nI'm going to move this to the SERVER projects as that's where changes you're suggesting would need to happen.", "created": "2022-02-07T16:53:00.000000"}], "components": [], "created": "2022-02-03T08:46:00.000000", "creator": "623e79498d8b9c0068b9f45e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@217c2c73"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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": "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|o0e7li:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Feb/22"}], "description": "New Puppet master on RHEL8, FIPS enabled, with puppetserver-7.6.0-1.el8.noarch installed.\n\n- Create intermediate CA per docs\n\n- Setup a new intermediate CA configuration via 'puppetserver ca import'\n\n- Puppet server certificate is signed with intermediate CA\n\npuppetserver ca list command now outputs the following error:\n\nError:\n\n\u00a0 \u00a0 code: 500\n\n\u00a0 \u00a0 body: Internal Server Error: java.lang.IllegalArgumentException: The PEM stream must contain exactly one object\n\nNo certificates to list\n\npuppetserver.log has the following error:\n\n2022-02-03T15:44:49.756Z ERROR [qtp2104016619-45] [p.r.core] Internal Server Error: java.lang.IllegalArgumentExc\n\neption: The PEM stream must contain exactly one object\n\n\u00a0 \u00a0 \u00a0 \u00a0 at com.puppetlabs.ssl_utils.SSLUtils.pemToPublicKey(SSLUtils.java:785)\n\n\u00a0 \u00a0 \u00a0 \u00a0 at com.puppetlabs.ssl_utils.SSLUtils.pemToCaCert(SSLUtils.java:680)\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14845", "fixedVersions": [], "id": "14845", "issueType": "New Feature", "key": "SERVER-3164", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79498d8b9c0068b9f45e", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Intermediate CA configuration results in error with EC keys", "timeSpent": "PT0S", "updated": "2022-02-10T11:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2022-02-01T13:55:00.000000", "creator": "61af86343618cd006f430854", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cde2bf6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e5aw:"}, {"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_*:*_135439_*|*_6_*:*_1_*:*_0"}], "description": "The bolt-server [endpoint|https://github.com/puppetlabs/bolt/blob/e933adf9e7627e85917584b806d739dbe76f0253/lib/bolt_server/transport_app.rb#L830] that we currently use to process inventory takes a project as an input, finds the inventory file in the project, parses it, and returns the targets.\n\nFor projectless inventory, we need an endpoint that will process standalone inventory data, instead of trying to load it from a file in a project. \n\nNote that the current bolt processing functions assume that the inventory is [in YAML|https://github.com/puppetlabs/bolt/blob/e933adf9e7627e85917584b806d739dbe76f0253/lib/bolt/inventory.rb#L80], but we can wrap the inventory snippet in a JSON data structure to pass to this new endpoint.\n\nEnsure it:\n* handles the data format we want to use for submitting the inventory snippet.\n* validates the data being submitted and returns an intelligible error if it's bad.\n* returns the processed targets as JSON, just like the [existing endpoint|https://github.com/puppetlabs/orchestrator/blob/2ac458b28077b2271ae65d72a04bd3903c2a4e2f/src/puppetlabs/orchestrator/bolt/client.clj#L20-L82].", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17469", "fixedVersions": [], "id": "17469", "issueType": "Task", "key": "SERVER-3162", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-02-01T13:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CLONE - Add endpoint to bolt-server that can process raw inventory file data", "timeSpent": "PT0S", "updated": "2022-02-01T13:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0f04562ab90069f8b137", "created": "2022-02-01T01:32:00.000000", "name": "Puppet_Server_5_metrics.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10786"}, {"attacher": "623c0f04562ab90069f8b137", "created": "2022-02-01T01:32:00.000000", "name": "Puppet_Server_7_metrics.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10859"}, {"attacher": "623c0f04562ab90069f8b137", "created": "2022-04-08T01:15:00.000000", "name": "Puppet_Server_7_reports.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10635"}, {"attacher": "623c0f04562ab90069f8b137", "created": "2022-03-04T01:14:00.000000", "name": "Screenshot 2022-03-04 at 09-13-33 Puppet Server - Grafana.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10634"}], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hi [~accountid:623c0f04562ab90069f8b137], thanks for opening this!\n\nHave you tried Puppet Server 6? We're curious if this issue started happening from 5 to 6 or 6 to 7. ", "created": "2022-02-03T11:19:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "I have never tried Puppet Server 6.\n6 & 7 look kinda identical from the outside, e.g. same JRuby & Jetty versions, OpenJDK requirements etc.\nFor the record, the Puppet Server 5 is running with the default JRuby 1.7, not JRuby 9k.\n\nI will setup a Puppet Server 6, see how that behaves and report back.\n\nOne important detail I forgot to add: we have a loadbalancer in front of the Puppet Servers, which terminates the SSL connnection. The appropiate headers are added and {{allow-header-cert-info: true}} is configured on the servers.", "created": "2022-02-03T11:45:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thanks for getting back to us, [~accountid:623c0f04562ab90069f8b137]! Please let us know when you've gotten Puppet Server 6 set up and how it behaves compared to 5 and 7.\n\nWe'd also be interested in seeing if enabling {{multithreaded: true}} in {{puppetserver.conf}} on your Puppet Server 7 install helps at all (see [docs|https://puppet.com/docs/puppet/7/server/config_file_puppetserver.html#settings] for details).", "created": "2022-02-10T11:34:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "I have now configured a Puppet Server 6.18.0. I did some tests in our development environment by moving single agent(s) to the development environment on the fly and let the agent run with --noop.\nThus the agent receives a catalog compiled by Puppet Server 6.\nOverall, Puppet Server 6 is as slow as Puppet Server 7.\n\nI get the impression, that {{file}} resources with the {{source}} attribute are very slow. The same impression has already been reported in SERVER-2673, but there it was sufficient to tune the JVM and puppetserver.conf to get a performing setup.\n\nI have added some numbers [here (GitHub Gist)|https://gist.github.com/stdietrich/9cd010d8038d999ed5679c69a4549dca].\nOverall {{file}} resources take up to ~10-12x more time to get served from Puppet Server 6. This can be even observed for a very simple catalog, which only inclues a single notify and file resource with source attribute. See this table for a brief summary:\n||Test||Puppet Server 5||Puppet Server 6||\n||production catalog|1.45s|15.55s|\n||production catalog, with static catalog|-|1.51s|\n||Single File|0.02s|0.25s|\n||Single File, file exists locally|0.06s|0.73s|\n||Single File, file exists localy, with static catalog|-|0.03s|\n\nThe same numbers can be observed with Puppet Server 7\nIt does not matter, if the Puppet Agent is 5, 6 or 7 or if I switch a Puppet Agent 5 from md5 to sha256 via {{{}--digest_algorithm sha256{}}}.\n\nThe only measurable difference happens, when I enable static catalogs on Puppet Server 6/7. I have used a very simple {{code-content-command}} which just does a cat on the file.\nWith static catalogs enabled, file resources are on-par with Puppet Server 5.\nCurrently, I have no Puppet Server 5 with enabled static catalogs available -> missing values in the table\n\nIMHO this fits to the initial oberservation and the performance plots.\nIf the limited number of JRubies are for longer periods of time busy by serving file resources, it's no surprise for the huge number of requested JRubies in the plot.\nWith static catalogs, I seem to bypass this bottleneck (somehow).\n\nI had a quick shot with {{multithreaded: true}} on Puppet Server 6 (09 in the gist), but there I see the same slow file resources without static catalogs.\nMultithreading might help me with scaling up, e.g. more JRubies per Puppet Server instance, but it does not solve the underlying problem.\n\nPlease let me know, if this helps to debug this further or if more informaton is required.", "created": "2022-02-13T07:06:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c0f04562ab90069f8b137] Can you enable static catalogs to work around this issue? We're thinking of documenting that as a recommendation for FOSS users.", "created": "2022-02-17T11:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c0f04562ab90069f8b137] Were you able to try the suggested workaround? We really appreciate the amount of work you put into investigating this, there's just unfortunately not much we can do about this right now, so we'll close this ticket if we don't hear from you. But we'd love to keep working with you on it if static catalogs isn't working!", "created": "2022-03-03T11:27:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "Static catalogs did not solve the problem. It changed the behaviour slightly, Puppet Server 7 runs OK for a couple of minutes until the requested JRubies spike appears:\n\n!Screenshot 2022-03-04 at 09-13-33 Puppet Server - Grafana.png|width=482,height=250!\n\nI am currently looking into the setup of the infrastructure itself one more time, with special regard to the load balancer in front of it. I am also seeing the Early EOF, which have been reported in SERVER-3169.\n\nI should be able to give an update next week, if you want to keep the ticket open.\n\n\u00a0\n\nEdit: The metric plot is also listed in the attachments, with full resolution.", "created": "2022-03-04T01:29:00.000000"}, {"author": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "body": "[~accountid:623c0f04562ab90069f8b137] give adding '-XX:ReservedCodeCacheSize=1024m' to the java opts a try. this solved the slowness and EOF issue for me.", "created": "2022-03-04T02:41:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "[~accountid:557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83] thanks for the hint, however I am already running with {{-XX:ReservedCodeCacheSize=2g}}. {{-Xlog:compilation+codecache=debug:file=/var/log/puppetlabs/puppetserver/codecache.log}} indicates that I should have enough memory, the free value in the log does not hit 0.", "created": "2022-03-04T05:16:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "Please excuse the long silence and thanks for keeping this open.\n\nMost likely, I found the 2 main reasons for the weird Puppet Server 7 performance in our infrastructure. tl", "created": "2022-04-08T01:36:00.000000"}, {"author": "623c0f04562ab90069f8b137", "body": "Finally migrated to Puppet Server 7.7.0 and it is running smoothly now. Compile times have been improved by ~40-50% with Puppet Server 7. Feel free to close the ticket.", "created": "2022-04-28T09:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Happy to hear that, [~accountid:623c0f04562ab90069f8b137]! We appreciate the work you put into investigating this. ", "created": "2022-04-28T10:34:00.000000"}], "components": [], "created": "2022-02-01T01:37:00.000000", "creator": "623c0f04562ab90069f8b137", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5eea6530"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0u96k"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7459023333_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version*: 7.10.0\n*Puppet Server Version*: 7.3.0\n*OS Name & Version*: AlmaLinux 8.5\n\nWhen trying to migrate from Puppet Server 5.3.16 to 7.3.0, we notice a huge decrease in performance. Regardless of the configuration, the Puppet Server can not keep up with the load and agents take more time to receive configuration.\nFor monitoring the performance, we use the graphite exporter and visualize the metrics in Grafana.\n\n{{max-active-instances}} is set to 10, JVM heap to 14GB, CodeCacheSize to 2GB and UseParallelGC as the GC.\nThe compile times seem to be not the biggest issues, while they are initially very slow they are speeding up after a couple of minutes and get at some point to the \nHowever, static file serving seems to be much slower. For Puppet Server 5, file_metadatas is handled in ~500ms and file_metadata ~10-15ms, Puppet Server 7 requires for both tasks around >=10-20 seconds.\nStatic catalogs are so far not enabled.\nI guess this is also the reason for the increase of requested JRubies to ~150.\nHowever, due to the CodeCacheSize limitations of 2GB, I can not really add more max-active-instances. The hardware has still plenty of RAM (92GB) and threads (40) left.\nPuppet Server 5 has more max-active-instances configured, but uses <=10 JRubies.\n\nAttachted are 2 plots from the metrics, as a comparison between 5 and 7.\n\nOverall we have 5 Puppet Servers serving ~6200 Agents with a 30 minute runinterval.\nExtrapolating from the JRuby usage of Puppet Server 7, I would need 15-20 Puppet Servers.\nAny hint to squeeze a better performance would be appreciated.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15876", "fixedVersions": [], "id": "15876", "issueType": "Bug", "key": "SERVER-3161", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0f04562ab90069f8b137", "resolution": "Cannot Reproduce", "resolutionDate": "2022-04-28T10:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server 7 very slow", "timeSpent": "PT0S", "updated": "2022-04-28T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hi [~accountid:557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83], thanks for opening this!\n\nWe're aware of issues with multithreaded mode in Puppet 6, but we've fixed some of these issues in the Puppet 7 stream. Could you upgrade and see if you're still encountering issues? Otherwise, we recommend disabling multithreaded mode in Puppet 6.", "created": "2022-02-03T11:21:00.000000"}, {"author": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "body": "i am sorry, i selected the wrong version, this issue has been encountered with puppetserver version 7.6.0-1 on centos 7", "created": "2022-02-03T11:32:00.000000"}, {"author": "557058:5cf34d61-0327-46c9-a7c5-18d45e15df55", "body": "+1 on Ubuntu 20.04 for us, same server version.", "created": "2022-02-22T19:07:00.000000"}, {"author": "557058:5cf34d61-0327-46c9-a7c5-18d45e15df55", "body": "We've actually reproduced it on any 7.x server (centos or Ubuntu) when the 7.14 agent is installed.. seems caused by this change in the 7.14 agent: PUP-11373.", "created": "2022-03-08T15:34:00.000000"}], "components": ["Puppet Server"], "created": "2022-01-29T08:07:00.000000", "creator": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bb7acfe"}, {"fieldName": "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": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0emad:c"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/22"}], "description": "hi there,\n\n\u00a0\n\nwhen enabling the threaded mode for puppet server, one gets random errors like these:\n\n\npuppet agent -t\nInfo: Using environment 'prod'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Internal Error: Attempt to redefine loader named 'resolv_conf private' (file: /etc/puppetlabs/code/environments/prod/modules/resolv_conf/manifests/init.pp, line: 62, column: 18) on node node.example.com\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n\n\nthis error happens in random modules. the error mentioned here, happend in saz-resolv_conf:4.2.1\n\nbut i have seen similar errors with other modules, doing something completely different. for example, i have seen this error in a pp file, doing a \"contain\"\n\nhere is the full stack trace from the puppetserver, for the above issue:\n\n2022-01-29T15:55:53.411+01:00 ERROR [qtp1822750400-395] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Internal Error: Attempt to redefine loader named 'resolv_conf private' (file: /etc/puppetlabs/code/environments/prod/modules/resolv_conf/manifests/init.pp, line: 62, column: 18) on node node.example.com\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:258:in `add_loader_by_name'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:538:in `create_loader_with_dependencies_first'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:522:in `resolve'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:250:in `private_loader_for_module'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:190:in `[]'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/adapters.rb:95:in `loader_for_model_object'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:300:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:909:in `eval_AttributeOperation'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:864:in `block in eval_ResourceExpression'\norg/jruby/RubyArray.java:1809:in `each'\norg/jruby/RubyEnumerable.java:1126:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:863:in `block in eval_ResourceExpression'\norg/jruby/RubyArray.java:2577:in `map'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:824:in `eval_ResourceExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1060:in `block in eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:985:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1056:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1809:in `each'\norg/jruby/RubyEnumerable.java:1126:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/contain.rb:47:in `contain'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/etc/puppetlabs/code/environments/prod/modules/profiles/manifests/resolv_conf.pp:5\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1058:in `block in eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:985:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1056:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1809:in `each'\norg/jruby/RubyEnumerable.java:1126:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/contain.rb:47:in `contain'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/etc/puppetlabs/code/environments/prod/modules/profiles/manifests/base.pp:37\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:964:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1809:in `each'\norg/jruby/RubyEnumerable.java:1126:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1058:in `block in eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:985:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:1056:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `block in eval_BlockExpression'\norg/jruby/RubyArray.java:1809:in `each'\norg/jruby/RubyEnumerable.java:1126:in `inject'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:679:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:60:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:27:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:63:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:62:in `block in evaluate'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:61:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:30:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:80:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:79:in `block in evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:71:in `evaluate'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:259:in `evaluate_classes'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/functions/include.rb:48:in `include'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1189:in `catch'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'\n/etc/puppetlabs/code/environments/prod/manifests/site.pp:1\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:995:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:990:in `eval_CallMethodExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n2022-01-29T15:55:53.411+01:00 ERROR [qtp1822750400-395] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Internal Error: Attempt to redefine loader named 'resolv_conf private' (file: /etc/puppetlabs/code/environments/prod/modules/resolv_conf/manifests/init.pp, line: 62, column: 18) on node node.example.com\n2022-01-29T15:55:53.411+01:00 ERROR [qtp1822750400-395] [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Function Call, Internal Error: Attempt to redefine loader named 'resolv_conf private' (file: /etc/puppetlabs/code/environments/prod/modules/resolv_conf/manifests/init.pp, line: 62, column: 18) on node node.example.com", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "17217", "fixedVersions": [], "id": "17217", "issueType": "Bug", "key": "SERVER-3160", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Evaluation Error: Error while evaluating a Function Call, Internal Error: Attempt to redefine loader named", "timeSpent": "PT0S", "updated": "2022-06-02T11:06:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2022-01-27T10:47:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@617b4c53"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8riz"}, {"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_*:*_2363976_*|*_3_*:*_1_*:*_5613107_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2413391142_*|*_10005_*:*_1_*:*_2245875018"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for ubuntu-20.04-amd64\n* Add ubuntu-20.04-amd64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml]\n* Add ubuntu-20.04-amd64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16298", "fixedVersions": [], "id": "16298", "issueType": "Task", "key": "SERVER-3159", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-03-22T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable ubuntu-20.04-amd64 builds and testing for puppetserver", "timeSpent": "PT0S", "updated": "2022-03-22T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So far this has actually been clean for us except for pinning JRuby's jnr-posix dep, which I did under the SERVER-3157 ticket.", "created": "2022-02-02T17:04:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Also the gettext license, but I don't think there's anything we can do about that for now, and it affects all clojure projects. We are currently not surfacing license issues in the PR checks.", "created": "2022-02-02T17:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "All remaining issues are low-severity license issues.", "created": "2022-02-02T17:07:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I cleaned up a couple of duplicate projects in the Snyk dashboard that were giving out of date results. The current ones all look clean.", "created": "2022-02-07T16:47:00.000000"}], "components": [], "created": "2022-01-20T16:00: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@2cf8c44d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8s"}, {"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": "03/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_415527437_*|*_10007_*:*_1_*:*_17497591_*|*_3_*:*_1_*:*_332612617_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_791518348_*|*_10005_*:*_1_*:*_865011"}], "description": "According to the severity we have certain SLAs we're supposed to meet, eg. ASAP for Critical, 30 days for High, etc. Review the slides here for exact time frames:\n[https://confluence.puppetlabs.com/display/SEC/Training]\n\u00a0\nThis dashboard tracks what projects are in or out of SLA: [https://puppet.grafana.net/d/7isze1Tnk/snyk-status?orgId=1&viewPanel=6]\n\nThis ticket is to audit the projects SLAs on the above dashboard. \n\n* Critical & High - review all issues, fix anything trivial, open tickets for any non-trivial issues we actually need to resolve, snooze anything that isn't a real issue that affects us\n* Medium and below - snooze in Snyk, open any necessary exceptions to our SLA\n\nSchedule a meeting with the rest of the team to discuss any issues we're not sure about, after clearing out issues that are easy to assess.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17216", "fixedVersions": ["None"], "id": "17216", "issueType": "Task", "key": "SERVER-3158", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2022-02-07T16:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Review snyk Security SLA issues & snooze OR create Jira tickets as needed", "timeSpent": "PT0S", "updated": "2022-02-07T16:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There's an issue with the clojure snyk runner not using the reverse proxy to download dependencies, so it's trying and failing to hit artifactory. [~accountid:6195282ef241500072505c94] is working on a fix.\n\nIn the meantime, I have PRs up for\n[pe-pse|https://github.com/puppetlabs/pe-puppet-server-extensions/pull/1394]\n[pe-file-sync|https://github.com/puppetlabs/pe-file-sync/pull/517]\n[code-manager|https://github.com/puppetlabs/code-manager/pull/512]\n[puppetserver|https://github.com/puppetlabs/puppetserver/pull/2607]\n\nI may want to change those to run on push rather than PR, since I _think_ they won't run on PRs made from forks anyway, due to those not having access to the secrets. However, that will be easier to ignore, so I don't love it. If we do move to making PRs directly against the {{puppetlabs}} fork to work better with snyk, we'll need to update Travis so it doesn't run twice on every PR.", "created": "2022-01-27T15:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Did some of the major repos, leaving the others to be done as we touch them. There might be some changes coming to the actions as we figure out better workflows.", "created": "2022-02-01T15:35:00.000000"}], "components": [], "created": "2022-01-20T15:54: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@3ad322a1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8rr"}, {"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": "27/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_415720827_*|*_10007_*:*_1_*:*_15555774_*|*_3_*:*_1_*:*_494569241_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_109701207_*|*_10005_*:*_1_*:*_163865"}], "description": "We need to add snyk scanning to our projects.\n\nWe should ensure our repos are using snyk scanning. We can see our integration status here: [https://puppet.grafana.net/d/RpECy40nk/snyk-repo-coverage]\n\nWe can use the Github actions here:\n\u00a0\n * [https://github.com/puppetlabs/security-snyk-clojure-action]\u00a0\n * [https://github.com/puppetlabs/security-snyk-vanagon-action]\u00a0\n * \u00a0[https://github.com/snyk/actions]\u00a0\n\n\u00a0\n\nMore information can be found in the slides here:\n\n[https://confluence.puppetlabs.com/display/SEC/Training]\n\n\u00a0\n\nplease also update the Maintainers column of this spreadsheet:\n\nhttps://docs.google.com/spreadsheets/d/1MBm_eF9eDQAk9fqIAaDaWqXtqHXLyaVBAvrY-yv3Pc0/edit#gid=2065455227", "duedate": "2022-02-18T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16888", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "16888", "issueType": "Task", "key": "SERVER-3157", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2022-02-01T15:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "And Snyk testing to CI pipelines", "timeSpent": "PT0S", "updated": "2022-04-01T11:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2022-01-18T11:10:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f00039b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8rivi"}, {"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": "We now support puppetserver on sles-15-x86_64."}, {"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_*:*_2_*:*_336853559_*|*_1_*:*_1_*:*_173476771_*|*_10007_*:*_1_*:*_503198967_*|*_3_*:*_1_*:*_22537844_*|*_5_*:*_2_*:*_456673660_*|*_10006_*:*_1_*:*_2413462220_*|*_10005_*:*_1_*:*_2850919182"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for sles-15-x86_64\n* Add sles-15-x86_64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml]\n* Add sles-15-x86_64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17468", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.7.0"], "id": "17468", "issueType": "Task", "key": "SERVER-3156", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-04-06T17:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable sles-15-x86_64 builds and testing for puppetserver", "timeSpent": "PT0S", "updated": "2022-04-08T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Given the amount of resources being put into MT puppetserver I'm going to close this.", "created": "2022-02-02T18:03:00.000000"}], "components": [], "created": "2022-01-11T18:14: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@4a2d9fc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dfr0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1900189667_*|*_6_*:*_1_*:*_0"}], "description": "Try to reproduce PUP-11373 using https://github.com/puppetlabs/puppetserver/tree/6.x/ext/thread_test and add a test for it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16112", "fixedVersions": [], "id": "16112", "issueType": "Task", "key": "SERVER-3155", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-02-02T18:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add test for PUP-11373", "timeSpent": "PT0S", "updated": "2022-02-02T18:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e92af89"}, {"fieldName": "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-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8u"}, {"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_*:*_675578874_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1315846992"}], "description": "(Initial planned release date: 2022-01-18)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.18.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston], [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/], and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "17215", "fixedVersions": [], "id": "17215", "issueType": "Task", "key": "SERVER-3153", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-28T17:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-28T17:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4d775ed0"}, {"fieldName": "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-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dbv4:"}, {"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_*:*_675595528_*|*_10007_*:*_1_*:*_16897094_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1216305549"}], "description": "(Initial planned release date: 2022-01-18)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16885", "fixedVersions": [], "id": "16885", "issueType": "Task", "key": "SERVER-3152", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-27T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-27T18:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72d4803e"}, {"fieldName": "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-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dbuw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_675631548_*|*_3_*:*_1_*:*_950291779_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_24240"}], "description": "(Initial planned release date: 2022-01-18)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 6.18.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.18.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16645", "fixedVersions": [], "id": "16645", "issueType": "Task", "key": "SERVER-3151", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ticketmatch came out all clean except for SERVER-3137 which was put in to keep ezbake versions consistent between main and 6.x despite us NOT shipping Debian in the 6.x branch.", "created": "2022-01-14T12:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Code has all been in PE for more than a week.\n\nThe Confluence page is very out of date, not just for server but for all components, will discuss with PM on Tuesday.\n\nPromotions were disabled for both streams here: [https://github.com/puppetlabs/ci-job-configs/pull/8214]\n\nBuilt and staged the tagged build here: [http://builds.delivery.puppetlabs.net/puppetserver/6.18.0/]\n\n\u00a0", "created": "2022-01-14T17:06:00.000000"}], "components": [], "created": "2022-01-05T15:56:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60abdaa1"}, {"fieldName": "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-11417"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dbuo:"}, {"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/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_675578553_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_106207308"}], "description": "(Initial planned release date: 2022-01-18)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 6.18.0 is built and ready for testing.\n", "duedate": "2022-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16297", "fixedVersions": [], "id": "16297", "issueType": "Task", "key": "SERVER-3150", "labels": ["release"], "originalEstimate": "PT0S", "parent": "24623", "parentSummary": "Puppet Platform 6.26.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-14T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 6.26.0)", "timeSpent": "PT0S", "updated": "2022-01-14T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ec3c3d0"}, {"fieldName": "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-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8u9"}, {"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_*:*_677948140_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1315761136"}], "description": "(Initial planned release date: 2022-01-18)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.6.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston], [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/], and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2022-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16883", "fixedVersions": [], "id": "16883", "issueType": "Task", "key": "SERVER-3149", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-28T17:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-28T17:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b8804c2"}, {"fieldName": "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-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dbm0:"}, {"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_*:*_53939283_*|*_1_*:*_1_*:*_677935289_*|*_10007_*:*_1_*:*_3225471_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1234457670"}], "description": "(Initial planned release date: 2022-01-18)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16644", "fixedVersions": [], "id": "16644", "issueType": "Task", "key": "SERVER-3148", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-28T10:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-28T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2022-01-05T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28bf6f99"}, {"fieldName": "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-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dbls:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_677919968_*|*_3_*:*_1_*:*_950221282_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_11508"}], "description": "(Initial planned release date: 2022-01-18)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.6.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.6.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2022-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16296", "fixedVersions": [], "id": "16296", "issueType": "Task", "key": "SERVER-3147", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-24T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-24T11:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Nothing popped on ticketmatch.\n\nCode has all been in PE for more than a week.\n\nThe Confluence page is very out of date, not just for server but for all components, will discuss with PM on Tuesday.\n\nPromotions were disabled for both streams here: [https://github.com/puppetlabs/ci-job-configs/pull/8214]\n\nBuilt and staged the tagged build here: [http://builds.delivery.puppetlabs.net/puppetserver/7.6.0/]\n\nLet everyone in #proj-puppet-release know about the artifacts.\n\n\u00a0", "created": "2022-01-14T17:11:00.000000"}], "components": [], "created": "2022-01-05T15:19:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@459a3abe"}, {"fieldName": "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-11407"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0dblk:"}, {"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/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_677916756_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_106397216"}], "description": "(Initial planned release date: 2022-01-18)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.6.0 is built and ready for testing.\n", "duedate": "2022-01-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "estimate": "PT0S", "externalId": "16036", "fixedVersions": [], "id": "16036", "issueType": "Task", "key": "SERVER-3146", "labels": ["release"], "originalEstimate": "PT0S", "parent": "23490", "parentSummary": "Puppet Platform 7.14.0 Release - 2022-01-18", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2022-01-14T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.14.0)", "timeSpent": "PT0S", "updated": "2022-01-14T17:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I have two PRs up to unblock this, [one|https://github.com/puppetlabs/puppet-agent/pull/2179] for the 6.x agent, and [another|https://github.com/puppetlabs/ezbake/pull/596] for the ezbake change.", "created": "2022-01-04T17:49:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've done the prework for this (the tickets are linked, but I think [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] was maybe going to help get it over the line.", "created": "2022-01-05T16:14:00.000000"}], "components": [], "created": "2021-12-16T16:16:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@777fc849"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8r"}, {"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": "Puppet Server is now packaged for Debian 11. It requires Java 11 to be installed."}, {"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/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_98651273_*|*_1_*:*_1_*:*_242277_*|*_10007_*:*_3_*:*_8942588_*|*_3_*:*_2_*:*_69641183_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1400170554_*|*_10005_*:*_1_*:*_415359043"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for debian-11-amd64\n* Add debian-11-amd64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml]\n* Add debian-11-amd64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/main/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16643", "fixedVersions": ["SERVER 7.6.0"], "id": "16643", "issueType": "Task", "key": "SERVER-3137", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2022-01-08T17:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable debian-11-amd64 builds and testing for puppetserver", "timeSpent": "PT0S", "updated": "2022-03-28T15:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moving to SERVER project", "created": "2021-12-13T14:57:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Hi [~accountid:6243854d258562006fa2b8c0], only CD4PE is affected. See our blog post for more information. https://puppet.com/blog/puppet-response-to-remote-code-execution-vulnerability-cve-2021-44228/", "created": "2021-12-13T15:01:00.000000"}, {"author": "6243854d258562006fa2b8c0", "body": "Thank you", "created": "2021-12-14T02:54:00.000000"}], "components": [], "created": "2021-12-13T08:54:00.000000", "creator": "6243854d258562006fa2b8c0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["Server"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f54c519"}, {"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-2021-44228 - log4j"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0d1sw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22024066_*|*_6_*:*_1_*:*_0"}], "description": "we see that puppetserver uses Slf4jLogger mechanism for logging. With ongoing vulnerability log4j, we noticed that slf4jlogger might be dependent on log4j, hence would like to understand the impact and remediation if any.\n\nwe use latest opensource\n\npuppetserver: 6.17, puppetdb 6.19, puppet-agent 6.25\n\npuppetserver.service - puppetserver Service\n\u00a0 \u00a0Loaded: loaded (/lib/systemd/system/puppetserver.service; enabled; vendor preset: enabled)\n\u00a0 \u00a0Active: active (running) since Sat 2021-11-20 12:57:37 CET; 3 weeks 1 days ago\n\u00a0Main PID: 2242 (java)\n\u00a0 \u00a0 Tasks: 141 (limit: 4915)\n\u00a0 \u00a0CGroup: /system.slice/puppetserver.service\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u2514\u25002242 /usr/bin/java -Xms4g -Xmx4g -XX:ReservedCodeCacheSize=1G -{*}Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger{*} -XX:OnOutOfMemoryError=kill -9 %p -XX:ErrorFile=/var/log/puppet\n\n\u00a0", "environment": "Production CICD", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16642", "fixedVersions": [], "id": "16642", "issueType": "Bug", "key": "SERVER-3136", "labels": ["support"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243854d258562006fa2b8c0", "resolution": "Cannot Reproduce", "resolutionDate": "2021-12-13T15:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CVE-2021-44228 - log4j", "timeSpent": "PT0S", "updated": "2021-12-14T02:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The {{bcutil}} jar has been pulled in correctly: \n{code}\n\u279c  puppetserver git:(main) \u2717 lein deps :tree | grep bc\nTried to load com.google.guava/guava version 28.2-jre but 20.0 was already loaded.\nTried to load org.jsoup/jsoup version 1.13.1 but 1.7.2 was already loaded.\n [org.bouncycastle/bcpkix-jdk15on \"1.70\"]\n   [org.bouncycastle/bcprov-jdk15on \"1.70\"]\n   [org.bouncycastle/bcutil-jdk15on \"1.70\"]\n{code}", "created": "2022-01-19T17:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I built an uberjar of jvm-ssl-utils and didn't see any evidence of any bouncy-castle libraries in it, including the new utils lib. Is that the right way to check the \"provided\" profile you mention [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]?", "created": "2022-01-20T09:34:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yep.", "created": "2022-01-21T12:50:00.000000"}], "components": ["Puppet Server"], "created": "2021-12-06T12:58: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@26822023"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0lir"}, {"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": "Puppet Server now ships with Bouncy Castle 1.70, which has improved TLS 1.3 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": "20/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_322480884_*|*_1_*:*_1_*:*_253108634_*|*_10007_*:*_1_*:*_706830831_*|*_3_*:*_1_*:*_69335835_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2520713894_*|*_10005_*:*_1_*:*_1038653770"}], "description": "We're currently using BC 1.68 which came out around a year ago. We should update to\u00a0[BC 1.70|https://bouncycastle.org/releasenotes.html#r1rv70] which just came out. 1.70 contains TLS v1.3 & ECDSA bug fixes which we think we'll start seeing more of now that we've enabled TLS v1.3 by default.\n\nThis ticket includes:\n * update jvm-ssl-utils to test that there's not regressions (there are potentially backwards incompatible changes in 1.69).\n * ensure the new utils jar that they've split out is pulled in transitively from the artifact ids and if not explicitly declaring a dependency on the new utils jar.\n * verify the new utils jar is properly removed by the \"[provided|https://github.com/puppetlabs/jvm-ssl-utils/blob/main/project.clj#L42-L44]\" profile\n * update clj-parent once we've verified it doesn't break jvm-ssl-utils and puppetserver (puppetserver testing is p art of the clj-parent bump process)\n * ensure puppetserver is updated to the new clj-parent (should be automatic)\n * let PDB know that they should be using the new version", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15446", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "15446", "issueType": "Task", "key": "SERVER-3135", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2022-02-01T09:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump BouncyCastle to at least 1.70 (FOSS)", "timeSpent": "PT0S", "updated": "2022-03-15T12:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "aggregatetimeestimate": "288000", "aggregatetimeoriginalestimate": "288000", "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Tested this out a bit this morning and got a bunch of StackOverflowExcpetions in the puppetserver tests...\n{code}\nCaused by: org.jruby.embed.InvokeFailedException: java.lang.StackOverflowError\n at org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.call (EmbedRubyObjectAdapterImpl.java:322)\n    org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.callMethod (EmbedRubyObjectAdapterImpl.java:170)\n    org.jruby.embed.ScriptingContainer.callMethod (ScriptingContainer.java:1463)\n    com.puppetlabs.jruby_utils.jruby.InternalScriptingContainer.callMethodWithArgArray (InternalScriptingContainer.java:43)\n    sun.reflect.GeneratedMethodAccessor90.invoke (:-1)\n    sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)\n    java.lang.reflect.Method.invoke (Method.java:498)\n    clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:167)\n    clojure.lang.Reflector.invokeInstanceMethod (Reflector.java:102)\n    puppetlabs.services.jruby.jruby_puppet_core$eval27861$get_initialize_pool_instance_fn__27866$fn__27867$fn__27868.invoke (jruby_puppet_core.clj:138)\n    puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval25733$create_pool_instance_BANG___25742$fn__25745.invoke (jruby_internal.clj:256)\n    puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval25733$create_pool_instance_BANG___25742.invoke (jruby_internal.clj:225)\n....\nCaused by: java.lang.StackOverflowError: null\n at org.jruby.ext.set.RubySet.initialize_dup (RubySet.java:313)\n    org.jruby.ext.set.RubySet$INVOKER$i$1$0$initialize_dup.call (RubySet$INVOKER$i$1$0$initialize_dup.gen:-1)\n    org.jruby.runtime.callsite.SuperCallSite.call (SuperCallSite.java:218)\n    org.jruby.ext.set.RubySet.initialize_dup (RubySet.java:313)\n    org.jruby.ext.set.RubySet$INVOKER$i$1$0$initialize_dup.call (RubySet$INVOKER$i$1$0$initialize_dup.gen:-1)\n    org.jruby.runtime.callsite.SuperCallSite.call (SuperCallSite.java:218)\n    org.jruby.ext.set.RubySet.initialize_dup (RubySet.java:313)\n    org.jruby.ext.set.RubySet$INVOKER$i$1$0$initialize_dup.call (RubySet$INVOKER$i$1$0$initialize_dup.gen:-1)\n    org.jruby.runtime.callsite.SuperCallSite.call (SuperCallSite.java:218)\n    org.jruby.ext.set.RubySet.initialize_dup (RubySet.java:313)\n{code}", "created": "2021-11-17T09:45:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We may also want to consider moving to jruby 9.3, but we will open a separate ticket for that, since we'll need to investigate whether this bump requires a major version bump.", "created": "2021-11-18T11:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah we should definitely consider the 9.3 bump separately. I think we want to still pick up a 9.2 update before that, since they picked up a newer jruby-openssl, which might solve some user issues that we've heard about.", "created": "2021-12-16T16:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We need to wait for them to release 9.2.21 to work this.", "created": "2022-01-04T10:03:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Considering they still haven't done another 9.2 release, going to try going directly to 9.3. Initial test results look good.", "created": "2022-04-14T15:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Seems like 9.3 would be good to upgrade to at least for the 2021/future LTS stream. It causes no issues in basic testing and its perf looks similar to 9.2 in Puppet's benchmarks.\n\nHowever, work on getting the update into clj-parent needs to wait for the PE release branches to be cut, since we don't want this to go out in the current set. Also conversations about which branches to land it in are still ongoing.", "created": "2022-04-20T10:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This update has been merged through clj-parent, but we're waiting to release that till we also get the Clojure update in, for the new 5.0.0 release.", "created": "2022-05-06T12:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "I believe this work is complete.", "created": "2022-06-21T10:48:00.000000"}], "components": [], "created": "2021-11-17T08:36:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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@15ce1faa"}, {"fieldName": "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 Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Upgrade JRuby to 9.2.21.0 or 9.3.x"}, {"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": "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|hyk3j7:x"}, {"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": "Puppet Server now uses JRuby 9.3.4.0."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_608454039_*|*_1_*:*_3_*:*_3231122934_*|*_10007_*:*_2_*:*_579166919_*|*_3_*:*_1_*:*_97013184_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1214777489_*|*_10014_*:*_1_*:*_1810029276_*|*_10006_*:*_1_*:*_11068305534_*|*_10005_*:*_2_*:*_1867912921"}, {"fieldName": "productboard URL", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:url", "value": "https://puppet.productboard.com/feature-board/planning/features/13265734"}], "description": "We are currently are using JRuby 9.2.17.0, but there have been several bug fix releases since we last updated. We should upgrade to 9.2.21.0 in both the 6.x and main streams. (At the moment, this isn't released quite yet, but 9.2.20 has [this bug|https://github.com/jruby/jruby/issues/6958] which affects us) If the release of this takes too long, we should look at going to 9.3 instead.\n\n- Update [jruby-deps|https://github.com/puppetlabs/jruby-deps/blob/c4b1b4f6396e7a8c1ae61fe1e5ab5686bd2e7bb1/project.clj#L1-L3] with the new version\n- Release that and bump it in [jruby-utils|https://github.com/puppetlabs/jruby-utils/blob/419e87acec31f6965a724f6025daa01d08befb5e/project.clj#L25]\n- Release that and update in [clj-parent|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129]\n- Release that and update it in:\n-- puppetserver\n-- pe-pse (don't forget to also update [this|https://github.com/puppetlabs/clj-parent/blob/436d5430bdf2fbb5e6c87b15ac682783c44b17cc/project.clj#L129])\n-- orchestrator\n", "epicLinkSummary": null, "estimate": "PT288000S", "externalId": "16881", "fixedVersions": ["SERVER 7.9.0"], "id": "16881", "issueType": "Epic", "key": "SERVER-3133", "labels": [".Q2-Planned", "docs_reviewed", "PE-SoS"], "originalEstimate": "PT288000S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2022-07-12T09:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade JRuby to 9.3.4.0", "timeSpent": "PT0S", "updated": "2022-08-09T16:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-11-15T15:15:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d65acb8"}, {"fieldName": "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-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0chnc:"}, {"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_*:*_258234858_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1559302249"}], "description": "(Initial planned release date: 2021-12-07)\n\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.5.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston], [tefoji|https://github.com/puppetlabs/tefoji-puppet-templates/], and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-12-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "15444", "fixedVersions": [], "id": "15444", "issueType": "Task", "key": "SERVER-3132", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2021-12-06T16:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Post-release housekeeping (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-06T16:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This isn't immediately going into a PE release, so this can be closed.", "created": "2021-11-18T15:18:00.000000"}], "components": [], "created": "2021-11-15T15:15:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54bbc23b"}, {"fieldName": "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-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0chn4:"}, {"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/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_258253378_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1098841_*|*_10005_*:*_1_*:*_60120"}], "description": "(Initial planned release date: 2021-12-07)\n\nIf this release is not destined for an upcoming PE release, you can close this ticket.\n\nOtherwise, once PE release branches have been cut:\n* Bump the version of pe-puppet-server-extensions such that the X and Y versions match those of the subsequent PE release but the Z and build versions are bumped/reset, so that we have somewhere to branch from if we need to promote anything to the PE release branches.\nFor example:\n** 2019.8.3.96-SNAPSHOT -> 2019.8.4.0-SNAPSHOT\n** 2021.4.0.66-SNAPSHOT -> 2021.5.0.0-SNAPSHOT\n* Re-enable puppetserver promotions\n", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "15248", "fixedVersions": [], "id": "15248", "issueType": "Task", "key": "SERVER-3131", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2021-11-18T15:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump pe-pse and re-enable promotions (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-11-18T15:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "60e4906e4134aa006931a5d6", "body": "[https://docs-herrera-preview.netlify.app/docs/puppet/7/server/release_notes.html#puppet-server-750]\u00a0", "created": "2021-12-08T10:33:00.000000"}], "components": [], "created": "2021-11-15T15:15:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7eb3c70"}, {"fieldName": "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-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0chmw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_258261333_*|*_5_*:*_2_*:*_880028_*|*_10006_*:*_1_*:*_1711968969_*|*_10005_*:*_1_*:*_76595"}], "description": "(Initial planned release date: 2021-12-07)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.5.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.5.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-12-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "14843", "fixedVersions": [], "id": "14843", "issueType": "Task", "key": "SERVER-3130", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Fixed", "resolutionDate": "2021-12-08T10:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-08T10:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The release has been pushed out a couple days due to some additional changes needed in the agent. I've kicked CI again, and will tag Monday if everything looks good.", "created": "2021-12-03T17:06:00.000000"}], "components": [], "created": "2021-11-15T15:15:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52afd6b5"}, {"fieldName": "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-11354"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0chmo:"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_258281105_*|*_3_*:*_1_*:*_369426727_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1189762863_*|*_10005_*:*_1_*:*_34071"}], "description": "(Initial planned release date: 2021-12-07)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n** If you haven't already, notify the puppet-agent release lead that puppetserver 7.5.0 is built and ready for testing.\n", "duedate": "2021-12-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "estimate": "PT0S", "externalId": "17466", "fixedVersions": [], "id": "17466", "issueType": "Task", "key": "SERVER-3129", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28843", "parentSummary": "Puppet Platform 7.13.0 Release - 2021-12-13", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Done", "resolutionDate": "2021-12-06T16:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Platform 7.13.0)", "timeSpent": "PT0S", "updated": "2021-12-06T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "consolidating with https://puppet.atlassian.net/browse/SERVER-3127", "created": "2021-12-07T12:17:00.000000"}], "components": [], "created": "2021-11-12T13:30:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51f3a116"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0ly"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_524785533_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1630844066"}], "description": "Test pe-pse for redhatfips-8-x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16641", "fixedVersions": [], "id": "16641", "issueType": "Task", "key": "SERVER-3128", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Duplicate", "resolutionDate": "2021-12-07T12:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Test pe-puppetserver for redhatfips-8-x86_64", "timeSpent": "PT0S", "updated": "2021-12-07T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We don't support FIPS in FOSS.", "created": "2021-11-18T15:13:00.000000"}], "components": [], "created": "2021-11-12T13:29:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ea43c1d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0cghc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_524500432_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_163961"}], "description": "Add redhatfips-8-x86_64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15245", "fixedVersions": [], "id": "15245", "issueType": "Task", "key": "SERVER-3126", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2021-11-18T15:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable redhatfips-8-x86_64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2021-11-18T15:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We don't support FIPS in FOSS.", "created": "2021-11-18T15:14:00.000000"}], "components": [], "created": "2021-11-12T13:29:00.000000", "creator": "623e79777910a200718cd128", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c33f22c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0cgh4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_524339476_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_386491"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for redhatfips-8-x86_64\n* Add redhatfips-8-x86_64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14842", "fixedVersions": [], "id": "14842", "issueType": "Task", "key": "SERVER-3125", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e79777910a200718cd128", "resolution": "Won't Do", "resolutionDate": "2021-11-18T15:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable redhatfips-8-x86_64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2021-11-18T15:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-11-11T15:16: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@30059561"}, {"fieldName": "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": "SERVER-3178"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk3ms:002a"}], "description": "We want to start using the Puppet HTTP client in the {{splunk_hec}} module, to fully support the module on FIPS hosts, where Net::HTTP is not functional. However, the module currently allows users to configure a custom timeout for HTTP requests, and this is not supported by the Puppet Server version of the Puppet HTTP client. In order to be able to use the Puppet client in the module, we need to support per-request timeouts.", "epicLinkSummary": "Puppet Server configurable timeouts", "estimate": "PT0S", "externalId": "15242", "fixedVersions": [], "id": "15242", "issueType": "Task", "key": "SERVER-3124", "labels": [], "originalEstimate": "PT0S", "parent": "16647", "parentSummary": "Puppet Server configurable timeouts", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow configuring per-request timeouts in Puppet Server's HTTP client", "timeSpent": "PT0S", "updated": "2022-05-31T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] is going to gather more info on the impact of the current solution and how this work would help before we can prioritize this.", "created": "2021-12-08T11:15:00.000000"}], "components": [], "created": "2021-11-11T14:52: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@7cb27966"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0emad:zzzi"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/21"}], "description": "Sometimes, we need to make requests to servers that authenticate with non-Puppet certificates. For example, a custom report processor that sends data to a Splunk instance.\n\nSome users are able to use the [system store|https://puppet.atlassian.net/browse/SERVER-3019] for this, but others need to supply a completely custom cert bundle. For example, the {{splunk_hec}} module currently allows users to configure a custom bundle, separate from the system store. However, it uses Net::HTTP directly to accomplish this, which will not work in FIPS mode. If this module is to work correctly in FIPS mode, we need to support the same in the Server version of the Puppet HTTP client. \n\nOur HTTP client should support supplying a custom cert bundle (or a path to PEM file so we can create one?) per-request.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17214", "fixedVersions": [], "id": "17214", "issueType": "Task", "key": "SERVER-3123", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Specify a custom cert bundle for Puppet Server's HTTP client", "timeSpent": "PT0S", "updated": "2022-03-09T09:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0dfe50bb2b0070b6b0b3", "created": "2021-11-12T01:10:00.000000", "name": "puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11095"}], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hey [~accountid:623c0dfe50bb2b0070b6b0b3]! Would you mind showing us the whole contents of your {{puppetserver.conf}} file and also more of the log messages around where you saw that error, particularly the stacktrace following the error? Thanks!", "created": "2021-11-11T11:20:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Thank you for the reply.\n\nOf course:\n\n{noformat}\njruby-puppet: {\n    \"gem-home\": \"/opt/puppetlabs/server/data/puppetserver/jruby-gems\",\n    \"gem-path\": [\n        \"/opt/puppetlabs/server/data/puppetserver/jruby-gems\",\n        \"/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems\"\n    ],\n    \"max-active-instances\": \"2\",\n    \"max-requests-per-instance\": 3000,\n    \"ruby-load-path\": [\n        \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby\",\n        \"/opt/puppetlabs/puppet/cache/lib\"\n    ],\n    \"use-legacy-auth-conf\": false\n}\n{noformat}\n\n\nHighlighting some more logs\n{noformat}\n2021-11-12T09:03:44.486+01:00 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-cert'\n2021-11-12T09:03:44.486+01:00 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-key'\n2021-11-12T09:03:44.487+01:00 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-ca-cert'\n2021-11-12T09:03:44.487+01:00 INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-crl-path'\n{noformat}\n\nso assume they are being picked up from puppet.conf file? \n\nLog file attached which is full server start up and then two puppet runs. [^puppetserver.log] \n\nI can actually get rid of errors by installing our external CRL  at /var/lib/puppet/ssl/crl.pem - \nNow wondering if this is actually the client check of the puppetdb server ?\n\n", "created": "2021-11-12T01:18:00.000000"}, {"author": "623c0dfe50bb2b0070b6b0b3", "body": "Indeed if I disable puppetdb connectivity completly this error go's away.\n\nI was sure I checked that earlier but ... clearly not.\n\nI'd say this can be closed.", "created": "2021-11-12T01:28:00.000000"}], "components": ["Puppet Server"], "created": "2021-11-11T05:51: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@33b9e639"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0cfu0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_624515161_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 7.12.0\n*Puppet Server Version:* 7.12.1\n*OS Name/Version:* CentOS 7\n\nStarting with a puppetserver with a webserver configuration of the following\nto disable SSL.\n\n{noformat}\nwebserver: {\n    \"access-log-config\": \"/etc/puppetlabs/puppetserver/request-logging.xml\",\n    \"client-auth\": \"none\",\n    \"host\": \"0.0.0.0\",\n    \"port\": 8140,\n    \"shutdown-timeout-seconds\": 120\n}\n{noformat}\n\nThen puppet runs to this service (via a SSL terminating haproxy) result in an ERROR\n\n{noformat}\n2021-11-11T13:46:41.992+01:00 ERROR [qtp503110807-52] [puppetserver] Puppet The CRL is missing from '/var/lib/puppet/ssl/crl.pem'\n{noformat}\n\nand indeed it is  missing since this is a non SSL server it should not matter.\n\nWe did not observe this with puppetserver 6.11\n\n*Desired Behavior:*\nShould not be an SSL Error for a non SSL service.\n\n\n*Actual Behavior:*\npuppetserver logs presumably because it checks as aboive.\n\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\nRun puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16640", "fixedVersions": [], "id": "16640", "issueType": "Bug", "key": "SERVER-3122", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0dfe50bb2b0070b6b0b3", "resolution": "Cannot Reproduce", "resolutionDate": "2021-11-18T11:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver checks CRL even when SSL is disabled", "timeSpent": "PT0S", "updated": "2021-11-18T11:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "61af86343618cd006f430854", "body": "not gonna do it, wouldn't be prudent\n\n\u00a0", "created": "2022-02-08T11:58:00.000000"}], "components": [], "created": "2021-11-10T12:13: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@3098d0f0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0cf4o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_288197_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_7774789313"}], "description": "We have a way to directly export metrics out of puppetserver to graphite.\u00a0 This was the original way to export metrics before we added the jolokia HTTP endpoints to get metrics out.\u00a0\u00a0\n\nThe recommended way to get metrics out is the puppet-metrics-collector / puppet-metrics-dashboard modules which all use the HTTP endpoints.\u00a0\u00a0\n\n\u00a0\n\nWe should deprecate and maybe eventually remove the direct metrics export to graphite\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14841", "fixedVersions": [], "id": "14841", "issueType": "Improvement", "key": "SERVER-3121", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Won't Fix", "resolutionDate": "2022-02-08T11:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Deprecate the metrics graphite export functionality in favor of puppet-metrics-collector ", "timeSpent": "PT0S", "updated": "2022-02-08T13:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "61af86343618cd006f430854", "body": "Thank you for reporting this issue. While we agree this is likely an improvement, we do not anticipate addressing this any time soon due to other issues demanding precedence.\u00a0\n\nIf you are interested in submitting a patch to implement this issue, please open a pull request and reference this ticket.", "created": "2022-03-09T08:04:00.000000"}], "components": ["API", "Puppet Server"], "created": "2021-10-22T00:18:00.000000", "creator": "70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ff7119"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91j"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Oct/21"}], "description": "*Puppet Version: 7.X*\n *Puppet Server Version: 7.X*\n *OS Name/Version: 20.04(focal)*\n\nCould you please add to Puppet::Server::HttpClient put and delete\n\nmethod. Now only post and get available [https://github.com/puppetlabs/puppetserver/blob/main/src/ruby/puppetserver-lib/puppet/server/http_client.rb]\n\n\u00a0", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15874", "fixedVersions": ["None"], "id": "15874", "issueType": "New Feature", "key": "SERVER-3117", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:50b59257-833b-4781-b2cd-bd1ad41bbf2d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Implement put and delete request for Puppet::Server::HttpClient", "timeSpent": "PT0S", "updated": "2022-03-09T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623e754d94742a00683f7cf0] before we dig into this, do you happen to know if anything is wrong here?", "created": "2021-10-19T11:38:00.000000"}, {"author": "6243b74e247a4b00691c4151", "body": "I saw someone that had the same issue.\u00a0\n\nhttps://puppet.atlassian.net/browse/SERVER-2622", "created": "2021-10-20T02:03:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hey [~accountid:6243b74e247a4b00691c4151], while we investigate this, are you able to use the metrics dashboard at all? [https://puppet.com/docs/puppet/7/server/puppet_server_metrics.html#using-the-sample-grafana-dashboard]\u00a0", "created": "2021-11-10T11:34:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "also [~accountid:6243b74e247a4b00691c4151]\u00a0did this issue arise in Puppet Server 7.4.0, or has this been a problem for a while now?", "created": "2021-11-10T11:35:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "More specifically than the grafana-dashboard.\u00a0 You can use the puppet-metrics-collector module to gather metrics from the HTTP endpoints and then send them to a graphite server.\u00a0\u00a0\n\nhttps://github.com/puppetlabs/puppetlabs-puppet_metrics_collector#metrics_server_type", "created": "2021-11-10T11:37:00.000000"}, {"author": "6243b74e247a4b00691c4151", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] I think this issue popped up when we went from Puppet 5 to Puppet 7. I cannot pinpoint what version that was.\u00a0\n\n\u00a0\n\n[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]\u00a0We are using both Graphite and jmx_agent (We are trying to move away from Graphite, thus that's why we have both atm). The\u00a0puppet-metrics-collector does have the same issue. (all metrics except the compiler metrics)", "created": "2021-11-15T00:51:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:6243b74e247a4b00691c4151] thanks for that info.\u00a0 What information from the compiler metrics where you using and how was it helping you?\u00a0\u00a0", "created": "2021-12-08T11:31:00.000000"}, {"author": "6243b74e247a4b00691c4151", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] I was tasked with getting it in Prom so not sure what we were using that for before.", "created": "2021-12-17T02:01:00.000000"}, {"author": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "body": "I've also hit this.\u00a0 Spent all afternoon trying to get function and compiler metrics to be emitted (graphite into prometheus graphite exporter).\u00a0 Nothing I've tried has worked.\n\n\u00a0\n\nI'm on Puppet 6.24.0 and Puppetserver 6.16.1", "created": "2022-02-18T11:17:00.000000"}, {"author": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "body": "The documentation doesn't make it clear, (probably because it defaults to true), but I've just figured out you also need to make sure you don't have the 'profiler' setting disabled in puppetserver.conf\n\nIn my case, it was disabled as this is the default when configuring puppetserver using the theforeman/puppet module.\n\n(I'm going to open a PR to change this.)\u00a0", "created": "2022-02-21T03:33:00.000000"}, {"author": "6243b74e247a4b00691c4151", "body": "[~accountid:557058:054fa98a-5e29-48e7-aeca-d5542926f8ba] This was indeed the issue. Once we enabled the profiler setting, it worked fine.\n\n\u00a0", "created": "2022-03-24T07:25:00.000000"}], "components": ["Puppet Server"], "created": "2021-10-19T02:06:00.000000", "creator": "6243b74e247a4b00691c4151", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c43d9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8ri2404"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Oct/21"}], "description": "*Puppet Version:\u00a07.9.0*\n *Puppet Server Version: 7.4.0*\n *OS Name/Version: Centos7/3.10.0-957.12.2.el7.x86_64*\n\nWhen using the graphite metrics or jmx_agent for metrics, we get all the metrics except the compiler metrics. We did not disable these in our configs.\n\nWe are using the\u00a0[jmx_prometheus_javaagent-0.16.1.jar|https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_prometheus_javaagent-0.16.1.jar]. We also tried an empty config and we also don't get it there. When using tcpdump for the Graphite metrics, we get everything except the compiler metrics.\n\n*Desired Behavior:*\u00a0We want to have the compiler metrics\n\n*Actual Behavior:*\u00a0We are getting all metrics except the compiler metrics.\n\n\u00a0\n\n{code}\n#\n# Managed by Puppet\n#\n# settings related to metrics\nmetrics: {\n # a server id that will be used as part of the namespace for metrics produced\n # by this server\n server-id: \"puppetid.eu\"\n registries: {\n puppetserver: {\n # specify metrics to allow in addition to those in the default list\n metrics-allowed: [\n \"compiler\",\n ]\n\nreporters: {\n # enable or disable JMX metrics reporter\n jmx: {\n enabled: true\n }\n # enable or disable Graphite metrics reporter\n graphite: {\n enabled: true\n }\n }\n\n}\n }\n\n# this section is used to configure settings for reporters that will send\n # the metrics to various destinations for external viewing\n reporters: {\n graphite: {\n # graphite host\n host: \"graphitehost.eu\"\n # graphite metrics port\n port: 2003\n # how often to send metrics to graphite\n update-interval-seconds: 5\n }\n }\n metrics-webservice: {\n jolokia: {\n # Enable or disable the Jolokia-based metrics/v2 endpoint.\n # Default is true.\n # enabled: false\n\n# Configure any of the settings listed at:\n # https://jolokia.org/reference/html/agents.html#war-agent-installation\n servlet-init-params: {\n # Specify a custom security policy:\n # https://jolokia.org/reference/html/security.html\n # policyLocation: \"file:///etc/puppetlabs/puppetserver/jolokia-access.xml\"\n }\n }\n }\n\n}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16639", "fixedVersions": [], "id": "16639", "issueType": "Improvement", "key": "SERVER-3116", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b74e247a4b00691c4151", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "DOC: Compiler metrics require profiling to also be enabled", "timeSpent": "PT0S", "updated": "2022-06-02T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We think you might need to set {{-Djruby.debug.fullTrace=true}}. That's how you have to set it for {{JAVA_ARGS}}, or alternatively it can be set as {{debug.fullTrace=true}} in a {{.jrubyrc}} file in {{pe-puppet}}'s home directory. See https://github.com/jruby/jruby/wiki/JRuby-Options.\n\nThis [gist|https://gist.github.com/justinstoller/aa2f0ede214c42adede9278085a55051] is based on running from source, but contains a useful script that might help you simulate your reports.", "created": "2021-10-18T11:31:00.000000"}, {"author": "5a028139c24efb3c4ed448c4", "body": "I spent some time on this yesterday but I was unable to get this to pass that parameter in a way that had any effect. I tried the JAVA_ARGS method and .jrubyrc. Neither method got navigation to work. \n", "created": "2021-10-19T10:48:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]\u00a0will talk to Yasmin and Micah about the priority of this work.", "created": "2021-11-10T11:25:00.000000"}], "components": ["Puppet Server"], "created": "2021-10-15T16:02:00.000000", "creator": "5a028139c24efb3c4ed448c4", "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 package installed puppetserver instance should be able to execute via a puppetserver foreground session, and pry breakpoints should support navigation commands like `step` and `next`."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@96d743c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8ri25r"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/21"}], "description": "When running puppetserver in a foreground session, pry navigation does not work.\n\nThe error supplied says\n\n\n{noformat}\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/pry-nav-0.3.0/lib/pry-nav/tracer.rb:38: warning: tracing (e.g. set_trace_func) will not capture all events without --debug flag\n{noformat}\n\n\nI have been unable to find a way to pass that flag, or another set of flags that will satisfy jruby an enable navigation commands like `next` or `step` to work.\n\nThis is a problem for development of products and features like report processors that run in the puppetserver process. It slows down development significantly if stepping into a function requires stopping the process entirely to put a new pry breakpoint in the spot you want to get to, and then starting the service again and starting another puppet run, etc, etc, to get back to the spot you need to get to.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17213", "fixedVersions": [], "id": "17213", "issueType": "Task", "key": "SERVER-3115", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a028139c24efb3c4ed448c4", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Pry navigation does not work with puppetserver foreground", "timeSpent": "PT0S", "updated": "2022-03-09T09:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I can reproduce this and it looks to be an issue in puppetserver.", "created": "2021-10-13T16:04:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is an issue with the Clojure helpers that are used to generate the CA when {{puppetserver start}} is run without first running {{puppetserver ca setup}}. The latter uses Ruby code from the [CLI tool|https://github.com/puppetlabs/puppetserver-ca-cli].\n\nIt would be pretty simple for us to start using the {{keyid}} instead, but I didn't do it when I [updated the helpers|https://github.com/puppetlabs/jvm-ssl-utils/commit/a7d395bfca37173d1e9534146ad3abb4ca7bdb78] to support the {{keyid}}, because I was worried people would somehow be relying on the other form. If that's not true, I'm happy to switch it out.", "created": "2021-10-13T16:11:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "For what it's worth, if you don't have any Puppet 5 agents, {{puppetserver ca setup}} is the recommended way to generate the CA, because it generates a chain with a root CA cert and an intermediate signing CA cert, instead of signing everything with the self-signed root.", "created": "2021-10-13T17:19:00.000000"}, {"author": "70121:63e7c45a-e632-48a8-9d39-7a15d3538bc9", "body": "Thanks Maggie, I'll generate with that way !", "created": "2021-10-14T02:29:00.000000"}, {"author": "70121:63e7c45a-e632-48a8-9d39-7a15d3538bc9", "body": "FYI, I've got an answer from LibreSSL: https://github.com/libressl-portable/portable/issues/684#issuecomment-951005927", "created": "2021-10-25T10:02:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It sounds like there's are two issues here: this keyid problem and the CA cert's CN getting added as a subject alt name. I think we should probably fix both. There's a [PR|https://github.com/puppetlabs/puppet/pull/8801] for the latter, but I think we'd want to go a different route, and just not add the CN to the SANs for the signing certs.", "created": "2021-10-25T10:15:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] will update the description of this ticket to include our plans for fixing this.", "created": "2021-10-26T11:43:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "So coming back to this, I think the puppet PR is a band aid and I'm inclined to close. My understanding is that our CA shouldn't add a Subject Alternative Name extension to CA certs (root or intermediate). The SAN extension should only be added to leaf certs that may need to have multiple identities bound to the certificate.\n\nNote LibreSSL fails because we're using \"Puppet CA:\" as a dNSName in the Subject Alt Name extension, which is invalid. But it is ok to include as a \"dirName/directoryName\" in the Authority Key Identifier extension.\n\nThough for consistency, it would be good to always emit the Authority Key Identifier as a keyid instead of dirName. I think referencing the authority's key is more direct than referencing the serial number.", "created": "2021-11-01T15:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this PR should fix both the issues mentioned in this ticket. https://github.com/puppetlabs/puppetserver/pull/2603", "created": "2022-01-05T16:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I verified that the CA CLI does not add alt names to either its [root cert|https://github.com/puppetlabs/puppetserver-ca-cli/blob/dd5f5363d49f8ba3397eb51b18aba54b9c9ed546/lib/puppetserver/ca/local_certificate_authority.rb#L230-L235] or its [intermediate signing cert|https://github.com/puppetlabs/puppetserver-ca-cli/blob/dd5f5363d49f8ba3397eb51b18aba54b9c9ed546/lib/puppetserver/ca/local_certificate_authority.rb#L280-L285], so we should be good there.", "created": "2022-01-07T11:52:00.000000"}], "components": [], "created": "2021-10-13T08:21:00.000000", "creator": "70121:63e7c45a-e632-48a8-9d39-7a15d3538bc9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@74f8742"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0li"}, {"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 self-signed CA signing cert generated by starting puppetserver will now use a keyid for its authority key identifier, to match the CA chain generated by `puppetserver ca setup`.\n* The CA signing cert no longer has subject alternative names added to it, since they are not meaningful."}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_108478788_*|*_1_*:*_1_*:*_32155009_*|*_10007_*:*_1_*:*_155404113_*|*_3_*:*_1_*:*_17863574_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12114_*|*_10005_*:*_1_*:*_7240825826"}], "description": "Hello,\n\nFollowing PA-3979, I found a weird puppet behavior during CA certificate generation.\nWhen generating the CA crt with \"puppetserver start\", \"Authority Key Identifier\" is set in the CA crt with the issuer :\n\n{noformat}\n\t\t\tX509v3 Authority Key Identifier: \n\t\t\t\tDirName:/CN=Puppet CA: puppet\n\t\t\t\tserial:01\n{noformat}\n\nIf I regenerate the CA crt with pupperserver ca setup, this field is filled with a keyid :\n\n{noformat}\n            X509v3 Authority Key Identifier: \n                keyid:04:27:BC:E8:9A:D9:15:9F:3F:1A:0F:F0:0D:71:99:65:60:CD:AE:75\n{noformat}\n\nThe issue is that LibreSSL get in trouble with the first one and cannot validate any certificate with it.\nWhy the behavior is different between the two ways of generation ?\n\nThanks in advance\n\n*To make Puppet Server generate certs with a keyid instead of a DirName:*\n* Update [this|https://github.com/puppetlabs/puppetserver/blob/9414c5eead642900230bae683cf70a820b859957/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L660] to use the new arity from [this PR|https://github.com/puppetlabs/jvm-ssl-utils/pull/116].", "environment": "Debian 10", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16034", "fixedVersions": ["SERVER 6.18.0", "SERVER 7.6.0"], "id": "16034", "issueType": "Bug", "key": "SERVER-3114", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:63e7c45a-e632-48a8-9d39-7a15d3538bc9", "resolution": "Done", "resolutionDate": "2022-01-08T17:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA Authority Key Identifier with issuer instead of keyid", "timeSpent": "PT0S", "updated": "2022-03-28T15:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5e17c6830af0d70e911d48f8", "created": "2021-10-06T19:16:00.000000", "name": "image-2021-10-06-19-16-48-964.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11317"}], "comments": [], "components": ["Puppet Server"], "created": "2021-10-06T19:48:00.000000", "creator": "5e17c6830af0d70e911d48f8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f40590b"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91k6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Nov/21"}], "description": "*Problem:* The [External SSL Termination documentation|https://puppet.com/docs/puppet/7/server/external_ssl_termination.html] goes to lengths to suggest that {{allow-header-cert-info: true}}\u00a0is dangerous but it seems like it should be an easy fix.\n\n*Given:* Some of the most common proxies, HAproxy, nginx, Apache and probably others can be configured to present client certificates to HTTPS enabled backend servers.\n\n*Proposal:* When {{allow-header-cert-info: true}} use TLS certificate based authentication to only accept the {{x-client-*}} headers from trusted proxies.\n\n*Digram:* Something roughly like the following where the \"authorize\" step is the new feature.\n\n!image-2021-10-06-19-16-48-964.png!\n\nThough I have drawn the \"authorize\" step here at Jetty it could likely also be done at the TrapperKeeper auth middleware.\n\n*Notes:*\nSomewhere [in here|https://github.com/puppetlabs/trapperkeeper-authorization/blob/main/src/puppetlabs/trapperkeeper/authorization/ring_middleware.clj] maybe?\u00a0 (Sorry, not a TK/Clojure expert.)\n\n*Flexible implementation:*\nPerhaps it makes sense to even re-use the rules functionality.\u00a0 I can see two ways to go about it in auth.conf.\n # Add a new parameter maybe {{allow-header-cert-info-rules}}\n\u00a0{{authorization:}}\n{{\u00a0 {}}\n{{\u00a0 \u00a0 version: 1}}\n{{\u00a0 \u00a0 allow-header-cert-info: true}}\n{{\u00a0 \u00a0 allow-header-cert-info-rules: [...]}}\n{{\u00a0 \u00a0 rules: [...]}}\n{{\u00a0 }}}\n # Let the \"allow-header-cert-info\" parameter to be a boolean or list of \\{rules}\n{{authorization:}}\n{{\u00a0 {}}\n{{\u00a0 \u00a0 version: 1}}\n{{\u00a0 \u00a0 allow-header-cert-info: [...]}}\n{{\u00a0 \u00a0 rules: [...]}}\n{{\u00a0 }}}\n\n{{{{}}}}", "environment": "Puppet FOSS 6 w/ multiple compile masters and HAproxy w/ TCP load balancing.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15240", "fixedVersions": [], "id": "15240", "issueType": "Improvement", "key": "SERVER-3113", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e17c6830af0d70e911d48f8", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Client cert authentication for allow-header-cert-info", "timeSpent": "PT0S", "updated": "2022-03-09T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "JRuby released a version with newer jruby-openssl, but we can't pick it up quite yet because of a bug. See SERVER-3133. But hopefully they will soon, and then we won't need this.", "created": "2022-01-04T12:13:00.000000"}, {"author": "61af86343618cd006f430854", "body": "will continue to rely on JRuby's vendor ssl", "created": "2022-02-08T12:00:00.000000"}], "components": [], "created": "2021-10-04T09:47: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@1d40afb1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0bluj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_58879_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10984294536"}], "description": "JRuby currently ships jruby-openssl 0.10.5, but there are newer versions of this openssl gem: current latest is 0.10.7. Some users have been reporting bugs that may be fixed in the later versions.\n\nWe should see if: \n* installing the latest version of jruby-openssl as a gem external to the jruby distribution (e.g. using our [build script|https://github.com/puppetlabs/puppetserver/blob/6.x/resources/ext/build-scripts/jruby-gem-list.txt]) successfully causes puppetserver to use the newer version, rather than the one that's shipped inside Jruby. \n* If this works, we need to verify that using the newer one doesn't cause any issues. \n* If there are surmountable issues, file separate tickets for solving them and doing the update.\n* Otherwise, let's start shipping it (and can use this ticket for that update).\n\n\nIf it doesn't work, we should file an issue with JRuby at least asking why they haven't picked up the newer version. It could be they're picking it up in 9.3.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16638", "fixedVersions": [], "id": "16638", "issueType": "Task", "key": "SERVER-3112", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-02-08T12:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "[SPIKE] Is it feasible to vendor newer jruby-openssl as an installed gem?", "timeSpent": "PT0S", "updated": "2022-02-08T12:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-09-29T16:38: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@5c52b31a"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8uc"}, {"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": "Puppet Server is now being tested on Rocky and Alma Linux. Use the EL8 packages on these operating systems."}, {"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_*:*_243087868_*|*_1_*:*_1_*:*_9225_*|*_10007_*:*_1_*:*_76924139_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_9270287841_*|*_10005_*:*_1_*:*_1106996820"}], "description": "We're replacing Centos 8 with Rocky and Alma support in 7.x. We should test the RHEL packages on these hosts, in FOSS and PE, to make sure they're as compatible as they claim.\n\nI don't have strong opinions about where we add these. We weren't previously bothering to test on Centos 8 in most places, so it won't just be a replacement of those cells. Maybe just to smoke tests in both the Puppetserver and pe-pse pipelines? And/or as one of the compilers in the more complex pe-pse pipelines?\n\nWe'll need to make sure that our jobs know that these new platforms should use EL 8 packages.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15229", "fixedVersions": ["SERVER 7.6.1"], "id": "15229", "issueType": "Task", "key": "SERVER-3099", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2022-01-31T11:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add Rocky and Alma cells to the test matrices", "timeSpent": "PT0S", "updated": "2022-03-15T12:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] when we are troubleshooting an issue with jruby pool locking are we recommending that customers enable lockless deploys in puppetserver?   ", "created": "2021-09-28T09:19:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "So far, the support team has held off on reflexively recommending lockless because customers tend to be a few patch versions behind and significant fixes are still landing.", "created": "2021-12-03T10:59:00.000000"}, {"author": "61af86343618cd006f430854", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] I believe you may have previously merged these changes and my hope is that this ticket can be closed as Fixed. Can you take a look and see what's actually left on this one? (No need to treat as an interrupter, just a background task). Thanks!", "created": "2022-03-09T07:36:00.000000"}], "components": [], "created": "2021-09-27T16:00:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c09d07c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8ri244"}, {"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": "The JRuby lock lifecycle of request, acquire, release is now logged at the INFO level, rather than DEBUG."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_657034_*|*_10007_*:*_1_*:*_14065750578_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Server Version: Latest\n*OS Name/Version: Any\n\nThe JRuby pool used by Puppet Server and PE Orchestrator has a lock functionality that is used, notably by Code Manager, to drain in-flight requests in order to gain exclusive access to file resources used by JRuby.\n\nThe lifecycle of requesting, acquiring, and releasing this lock has a critical impact on JRuby availability and thus on service performance. The following messages around the lock lifecycle logged at DEBUG level:\n\n{noformat}\n2021-09-25T17:01:38.280Z DEBUG [clojure-agent-send-off-pool-4596] [p.s.j.jruby-core] Acquiring lock on JRubyPool...\n2021-09-25T17:01:38.280Z DEBUG [clojure-agent-send-off-pool-4596] [p.s.j.jruby-core] Lock acquired\n2021-09-25T17:02:36.446Z DEBUG [clojure-agent-send-off-pool-4596] [p.s.j.jruby-core] Lock on JRubyPool released\n{noformat}\n\nDue to the critical nature of this workflow, these messages should be logged at INFO level to facilitate post-mortem debugging.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14840", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "14840", "issueType": "Improvement", "key": "SERVER-3098", "labels": ["docs_reviewed", "low-hanging-fruit"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2022-03-09T10:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRuby pool lock lifecycle should be logged at INFO level", "timeSpent": "PT0S", "updated": "2022-03-15T12:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the ticket, I believe we have some internal work towards this being prioritized. I've labeled this so our Product Owner can link this to the relevant internal tickets.", "created": "2021-09-28T11:41:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Nick has given us the go-ahead to do this somewhat soon, but it's not super high priority.\n\nWe should get tickets generated for this work and coordinate with PuppetDB on the timing.", "created": "2021-11-10T11:11:00.000000"}, {"author": "6243b1e6f6a26900695c26e4", "body": "Is there a definition what \"somewhat soon, but it's not super high priority\" means? ", "created": "2021-11-26T02:27:00.000000"}, {"author": "623c0d45ee1b5a007029329a", "body": "We are also waiting for this package.\nDo you know when the puppetserver for the bullseye puppet6 and puppet7 will be available?\n\n\u00a0", "created": "2021-11-26T04:56:00.000000"}, {"author": "70121:cc8549d3-f905-428a-8b68-113da090ba09", "body": "I'd like to add myself to the list of people that are eagerly waiting for the puppetserver package for Debian 11. Bullseye became stable over 3 months ago and my company already began migration to the new Debian release. So yeah, we'd greatly appreciate puppetserver package for Bullseye :)", "created": "2021-11-26T12:51:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hey folks, we are hoping to land this in our January release. Thanks for your patience!", "created": "2021-12-01T17:00:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Note: we only plan to add Debian 11 support to the puppet7 stream, NOT puppet6.  /cc [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]", "created": "2021-12-16T14:44:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "These packages should be available in the next release (puppetserver 7.6.0).", "created": "2022-01-11T12:00:00.000000"}], "components": [], "created": "2021-09-22T06:43:00.000000", "creator": "623c0b71a1d81f0069d8de25", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@305e70f5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0lzi"}, {"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": "https://puppet.atlassian.net/browse/PE-33253 should cover the docs and release notes for this"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337749201_*|*_1_*:*_2_*:*_536378023_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_73118_*|*_10005_*:*_2_*:*_8739113481"}], "description": "Would it be possible to create packages for Debian 11 (bullseye)?\n\nCurrently, I can only find packages for puppet-agent in:\n * [https://nightlies.puppetlabs.com/apt/pool/bullseye/puppet7-nightly/p/]\n * [https://apt.puppetlabs.com/pool/bullseye/puppet7/p/]\n\nThanks!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14839", "fixedVersions": ["SERVER 7.6.0"], "id": "14839", "issueType": "Bug", "key": "SERVER-3096", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0b71a1d81f0069d8de25", "resolution": "Fixed", "resolutionDate": "2022-01-11T12:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Package puppetserver for Debian 11 (bullseye)", "timeSpent": "PT0S", "updated": "2022-03-28T15:49:00.000000", "votes": "8", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There is a PR that starts dealing with this, needs a bit of work https://github.com/puppetlabs/puppetserver/pull/2505", "created": "2021-09-21T15:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "^ we'll just need to validate that that fixes this issue", "created": "2021-09-21T16:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "FWIW, the description of this ticket is really for the work I've done here: \u00a0[puppetlabs/pupperware#272|https://github.com/puppetlabs/pupperware/pull/272]\n\nWhile the upgrade scenario of a 6.x -> 7.x server is handled in the already linked pr: [https://github.com/puppetlabs/puppetserver/pull/2505]\n\nThe latter depends on the former, and both should be merged to bring the Puppet Server / Puppetware docker containers up to snuff.\n\nI'm concerned about users pulling down the newest docker image (once we release the above change) into an existing pupperware cluster that isn't using the above pupperware changes. The image start up will migrate the existing CA into a still inaccessible path, basically wiping out their CA. Does anyone know of a way to ensure the image isn't taken up w/o first upgrading the volume mounts?", "created": "2022-03-01T12:25:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This has been merged and should be available in the head of pupperware and the edge puppetserver container.", "created": "2022-04-13T11:15:00.000000"}], "components": ["Puppet Server"], "created": "2021-09-20T09:46:00.000000", "creator": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3501fe3e"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0u99"}, {"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/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_107547144_*|*_10007_*:*_1_*:*_3707399553_*|*_3_*:*_1_*:*_437033664_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_13463470565_*|*_10005_*:*_1_*:*_1864557"}], "description": "*Summary:*\nAfter upgrading the puppetserver container, the CA directory is gone and therefore *nothing* work.\n\n----\n\nThis issue concerns puppetserver run as a docker container.\n\nThe project https://github.com/puppetlabs/puppetserver/ does not have its own Issue tracking at github (as pupperware do), so I file this ticket here at tickets.puppetlabs.com instead:\n\n*Puppet Server Version:* All (the container currently use 7.4.0-1bionic)\n*OS Name/Version:* Any linux (probably the same problem in Windows)\n\n\nThis bug is so huge I really can't believe it exists.\nIt also means that no one must have ever upgraded their puppetserver container, or they would have experienced the same.\n\nCRITICAL fault:\n\nInside the container we have:\n{noformat}\n# ls -l /etc/puppetlabs/puppet/ssl\nlrwxrwxrwx 1 puppet puppet   31 Sep 20 14:59 ca -> /etc/puppetlabs/puppetserver/ca\ndrwxr-xr-x 2 puppet puppet 4096 Sep 20 14:59 certificate_requests\ndrwxr-xr-x 2 puppet puppet 4096 Sep 20 14:59 certs\n-rw-r--r-- 1 puppet puppet 1994 Sep 20 14:59 crl.pem\ndrwxr-x--- 2 puppet puppet 4096 Sep 20 14:59 private\ndrwxr-x--- 2 puppet puppet 4096 Sep 20 14:59 private_keys\ndrwxr-xr-x 2 puppet puppet 4096 Sep 20 14:59 public_keys\n{noformat}\n\nThe directory {{/etc/puppetlabs/puppet}} is mounted in the persistent volume {{compose-services_puppetserver-config}}.\nHowever, see how the {{ca}} directory is symlinked away to another place, {{/etc/puppetlabs/puppetserver/ca}}.\nThis place is volatile!!! It's part of the container's own filesystem, which is gone if you e.g. upgrade the container to a new version of puppetserver.\n\nAfter an upgrade, and the new container start, that place is empty.\nSo the {{ca}} symlink now point to an empty directory, and the entire puppet server stop working, 'cause all certificate lookup calls (like {{\"GET /puppet-ca/v1/certificate/ca HTTP/1.0\"}}) now get a 404 not found.\n\n*Desired Behavior:*\nAll important files must be stored in a persistent volume.\n\n*Actual Behavior:*\nThe {{ca}} files are stored in the container image's own filesystem.\nAs long as one keep this docker overlay2 layer, things work fine (including reboots).\nBut if you upgrade the container to a new version (like from v7.3.0 to 7.4.0), the new puppetserver 7.4.0 will not work.\nPS: The old overlay filesystem is also removed when the new image is pulled and started, so you can't even extract a copy of your old CA files. They are gone.\n\nExample of my setup:\nI configure pupperware to install puppetserver v7.3.0 (and db7.5.2) and bring it up with: docker-compose up -d.\nAll is good. CA certificate files are created. All agents can connect and run puppet just fine.\n\nPuppetserver 7.4.0 is released. I take the stack down:\ndocker-compose down\nI configure pupperware to install puppetserver v7.4.0 (and db7.6.0).\ndocker-compose up -d\nNow the 7.4.0 image is pulled and the stack is started.\n\nThe new 7.4.0-server, with its new container image, lack the CA files where the symlink point, so everything stop working. No agents can connect.\n\n----\n\nSince /etc/puppetlabs/puppet is mounted to a persistent volume, files in the subdir /etc/puppetlabs/puppet/ssl/* is already persistent. I don't understand why /etc/puppetlabs/puppet/ssl/ca is symlinked off to another place.\nWhy not simply skip the symlink and leave the files in ssl/? Problem solved?\nThe only explaination I can think of is a human ooops: Perhaps this symlink is some old attempt to place the CA files in the persistent volume {{compose-services_puppetserver-data}} (not {{-config}}), but instead of linking to /opt/puppetlabs/server/data/puppetserver/ca it became /etc/puppetlabs/puppetserver/ca, i.e. the wrong 'puppetserver' dir.\n\n----\n\nJust a paste of my own debug history:\nIn the 7.3.0-server, I create a file, via exec inside the container:\n{noformat}\ntouch /etc/puppetlabs/puppet/ssl/ca/foobar.tmp\nexit\nupdatedb\nlocate foobar.tmp\n/var/lib/docker/overlay2/e7e17620cd11d7d4d888532c95eff0d099044bba98e077c1039116a75d37ecec/diff/etc/puppetlabs/puppetserver/ca/foobar.tmp\n/var/lib/docker/overlay2/e7e17620cd11d7d4d888532c95eff0d099044bba98e077c1039116a75d37ecec/merged/etc/puppetlabs/puppetserver/ca/foobar.tmp\n{noformat}\nMy file (and the ca files) are placed in overlay e7e17620...\nI now take down the stack and upgrade.\n7.4.0 (and db7.6.0) is pulled and started.\nI exec into 7.4.0 and my file (and the ca files) are gone.\nI create foobar2.txt and exit back to the docker mother.\n{noformat}\n# locate foobar2.tmp\n/var/lib/docker/overlay2/66717a12d1632c7f18ef12162020d683f3096780da2478605a5ded3def7510b9/diff/etc/puppetlabs/puppetserver/ca/foobar2.tmp\n/var/lib/docker/overlay2/66717a12d1632c7f18ef12162020d683f3096780da2478605a5ded3def7510b9/merged/etc/puppetlabs/puppetserver/ca/foobar2.tmp\n{noformat}\nfoobar2.txt is created in the image filesystem of puppetserver:7.4.0 (overlay 66717a12...). \nThe old overlay e7e17620... no longer exists, so I can't even try to get the original CA files back. The files are gone.", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "15872", "fixedVersions": [], "id": "15872", "issueType": "Bug", "key": "SERVER-3094", "labels": [], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "resolution": "Fixed", "resolutionDate": "2022-04-13T11:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "docker container: Critical: CA files stored in volatile storage", "timeSpent": "PT0S", "updated": "2022-04-13T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c0bdd4a57610068e74367", "body": "Hello,\n\nany update about this issue ? We just need to add `openjdk-11-jre-headless` in `PACKAGES` I guess ?\n\n[https://github.com/puppetlabs/puppetserver/blob/main/docker/puppetserver/Dockerfile#L10]\n\nIt's also possible to add this change on Puppetserver 6.X ?\n\nRegards,", "created": "2022-08-08T07:33:00.000000"}], "components": [], "created": "2021-09-18T09:51:00.000000", "creator": "623a4c909b54ec0068b0740c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32acc89e"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:90c"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Aug/22"}], "description": "Recently both PuppetDB and Puppet Server enabled TLSv1.3 support by default, but this is unusable with the published Docker containers as they use the Java 8 JRE rather than the Java 11 JRE.\n\nGiven the TLSv1.3 support I assume that Java 11 is supported, and Java 11 is included in the Ubuntu 18.04 base image that the container uses, so I believe that this should be a one-line change in the Dockerfile.", "environment": "Docker containers as published by the Puppet Server project, which use Ubuntu 18.04 (Bionic).", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "17465", "fixedVersions": [], "id": "17465", "issueType": "Improvement", "key": "SERVER-3093", "labels": ["docker", "low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4c909b54ec0068b0740c", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Docker: please update Java to 11 or higher", "timeSpent": "PT0S", "updated": "2022-08-08T07:33:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Should look into making winston conditionally create \"publish/ship\" tickets so we don't create a bunch of tickets and then have to close them. I found that process confusing and assumed the tickets were mistakes.", "created": "2021-10-11T15:35:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Some winston/tefoji work is being done in the 7.4.1 ticket.", "created": "2021-10-18T17:41:00.000000"}], "components": [], "created": "2021-09-16T15:37:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@592c9b03"}, {"fieldName": "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-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8ix:i"}, {"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/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_434972611_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2337245721"}], "description": "(Initial planned release date: 2021-10-12)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.17.0\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "16636", "fixedVersions": [], "id": "16636", "issueType": "Task", "key": "SERVER-3092", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-18T17:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.17.0)", "timeSpent": "PT0S", "updated": "2021-10-18T17:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by https://puppet.atlassian.net/browse/RE-14322", "created": "2021-09-21T16:28:00.000000"}], "components": [], "created": "2021-09-16T15:37:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@303aaf06"}, {"fieldName": "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-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b9gj:"}, {"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/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_435053123_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "16293", "fixedVersions": [], "id": "16293", "issueType": "Task", "key": "SERVER-3091", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Duplicate", "resolutionDate": "2021-09-21T16:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 6.17.0)", "timeSpent": "PT0S", "updated": "2021-09-21T16:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:37:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54a1f5e6"}, {"fieldName": "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-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8ix:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_435106698_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1442169444"}], "description": "(Initial planned release date: 2021-10-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 6.17.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.17.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-10-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "16030", "fixedVersions": [], "id": "16030", "issueType": "Task", "key": "SERVER-3090", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-08T09:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.17.0)", "timeSpent": "PT0S", "updated": "2021-10-08T09:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Notes:\n\nTicketmatch reports\n # SERVER-2998 - unresolved and missing release notes. Is an epic, notes are on contained stories\n # SERVER-3078 - missing release notes. Is actually a ticket to update docs, probably should have been a DOCS ticket.\n\nWe won't be disabling promotion in a more traditional way, but after the release we will be switching the pipelines to a private repo.\n\nProject version has already been bumped.", "created": "2021-10-08T15:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "tagged, build available at http://builds.delivery.puppetlabs.net/puppetserver/6.17.0/", "created": "2021-10-08T16:31:00.000000"}], "components": [], "created": "2021-09-16T15:37:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@209a7b40"}, {"fieldName": "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-11253"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8iw:"}, {"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/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_435156258_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1468877555"}], "description": "(Initial planned release date: 2021-10-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 6.17.0 is built and ready for testing.\n", "duedate": "2021-10-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "15871", "fixedVersions": [], "id": "15871", "issueType": "Task", "key": "SERVER-3089", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20219", "parentSummary": "Puppet Platform 6.25.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-08T16:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 6.17.0)", "timeSpent": "PT0S", "updated": "2021-10-08T16:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:27:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26d2f757"}, {"fieldName": "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-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8iy:k"}, {"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_*:*_437907692_*|*_3_*:*_1_*:*_152236787_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2334949818"}], "description": "(Initial planned release date: 2021-10-12)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.4.1\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-10-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "14838", "fixedVersions": [], "id": "14838", "issueType": "Task", "key": "SERVER-3088", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-20T11:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.4.1)", "timeSpent": "PT0S", "updated": "2021-10-20T11:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by https://puppet.atlassian.net/browse/RE-14319", "created": "2021-09-21T17:05:00.000000"}], "components": [], "created": "2021-09-16T15:27:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a313625"}, {"fieldName": "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-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b98j:"}, {"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/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_437868853_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-10-12)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-10-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "17464", "fixedVersions": [], "id": "17464", "issueType": "Task", "key": "SERVER-3087", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Duplicate", "resolutionDate": "2021-09-21T17:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 7.4.1)", "timeSpent": "PT0S", "updated": "2021-09-21T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [], "components": [], "created": "2021-09-16T15:27:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e9cd156"}, {"fieldName": "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-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8iy:i"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_437918214_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1439960177"}], "description": "(Initial planned release date: 2021-10-12)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.4.1\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.4.1\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-10-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "17212", "fixedVersions": [], "id": "17212", "issueType": "Task", "key": "SERVER-3086", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-08T09:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.4.1)", "timeSpent": "PT0S", "updated": "2021-10-08T09:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ticketmatch found exactly zero things wrong:\n{code:java}\n----- Git commits in Jira -----\nALL COMMIT TOKENS WERE FOUND IN JIRA----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES {code}\nWe won't be disabling promotion in a more traditional way, but after the release we will be switching the pipelines to a private repo.\n\nProject version has already been bumped.", "created": "2021-10-08T16:31:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Tagged and packages available here: [http://builds.delivery.puppetlabs.net/puppetserver/7.4.1/]", "created": "2021-10-08T16:50:00.000000"}], "components": [], "created": "2021-09-16T15:27:00.000000", "creator": "61af7ccdc75da800725247ff", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5495d380"}, {"fieldName": "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-11243"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0b8iy:"}, {"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/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_437927430_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1467886809"}], "description": "(Initial planned release date: 2021-10-12)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 7.4.1 is built and ready for testing.\n", "duedate": "2021-10-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "estimate": "PT0S", "externalId": "16877", "fixedVersions": [], "id": "16877", "issueType": "Task", "key": "SERVER-3085", "labels": ["release"], "originalEstimate": "PT0S", "parent": "25574", "parentSummary": "Puppet Platform 7.12.0 Release - 2021-10-12\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61af7ccdc75da800725247ff", "resolution": "Fixed", "resolutionDate": "2021-10-08T16:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 7.4.1)", "timeSpent": "PT0S", "updated": "2021-10-08T16:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "body": "I'm closing my own ticket.\n\nI misunderstood. The env-variables are set globally from docker run or docker-compose.\nNo need to replace the \"placeholders\".\n", "created": "2021-09-20T13:10:00.000000"}], "components": ["Puppet Server"], "created": "2021-09-14T06:03:00.000000", "creator": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c831f5d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0b60r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20187860_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_523826166"}], "description": "Update:\nI misunderstood. The env-variables are set globally from docker run or docker-compose.\nNo need to replace the \"placeholders\".\nClosing this ticket.\n\n----\n\nOriginal report:\nThis ticket should probably be fixed at the same time as SERVER-3083, since they are exactly the same, and the fix take place in the same file ({{45-update-puppetserver-conf.sh}}).\n\n{noformat}\n    # (optional) maximum number of JRuby instances to allow\n    max-active-instances: ${PUPPETSERVER_MAX_ACTIVE_INSTANCES}\n\n    # (optional) number of HTTP requests a given JRuby instance will handle in its lifetime\n    max-requests-per-instance: ${PUPPETSERVER_MAX_REQUESTS_PER_INSTANCE}\n{noformat}\nThe two variables/placeholders above should be replaced with a custom or default value.\n\n\nUnlike $LOGDIR, the above two variables are described in the instructions at https://hub.docker.com/r/puppet/puppetserver but they don't seem to be used.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16292", "fixedVersions": [], "id": "16292", "issueType": "Bug", "key": "SERVER-3084", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "resolution": "Won't Do", "resolutionDate": "2021-09-20T13:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "docker: puppetserver.conf PUPPETSERVER_MAX_ACTIVE_INSTANCES etc unhandled", "timeSpent": "PT0S", "updated": "2021-09-20T13:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "body": "I'm closing my own ticket since I misunderstood how the logging is performed in the container.", "created": "2021-09-20T13:04:00.000000"}], "components": ["Puppet Server"], "created": "2021-09-14T05:52:00.000000", "creator": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "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": "Puppetserver (container) should log to the default file by default."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43c99a9f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0b603:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20834639_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_523532780"}], "description": "Update:\nHmmm, I think I have misunderstood.\nIt seems like all logging from the container (webserver and puppetserver) is sent to stdout.\nI assume I'm supposed to get it via {{docker logs}} and not directly via files under the container's /var/log/\n\n\n----\n----\n\n\nOriginal report:\n\n*Puppet Server Version:* All (the container currently use 7.3.0-1bionic)\n*OS Name/Version:* Any linux (probably the same problem in Windows)\n\nThis issue concerns puppetserver run as a docker container.\n\nThe project https://github.com/puppetlabs/puppetserver/ does not have its own Issue tracking at github (as pupperware do), so I file this ticket here at tickets.puppetlabs.com instead:\n\nAfter starting puppetserver via Docker, the template file {{/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf}} is never updated, leaving {{master-log-dir}} configuration like this:\n{noformat}\n    # (optional) path to puppet log dir; if not specified, will use\n    # /var/log/puppetlabs/puppetserver\n    master-log-dir: ${LOGDIR}\n{noformat}\n\n*Desired Behavior:*\nThe variable should be replaced with\n1) custom path, if any was specified when starting the container (see below)\n2) or \"/var/log/puppetlabs/puppetserver\" per default\n\n*Actual Behavior:*\nmaster-log-dir is literally set to ${LOGDIR}.\nSince this env variable is not set anywhere, it is empty, and puppetserver therefore don't log to file. :-(\n\n----\n\nIn {{puppetserver.conf}}, all other paths are hardcoded (ex: master-conf-dir: /etc/puppetlabs/puppet). No variables are used. \nThe container setup scripts should therefore do the same for {{master-log-dir}}.\nThat is, replace the placeholder '${LOGDIR}' with the actual path\n(don't solve this by assigning the $LOGDIR variable in some global system file).\n\nSee {{40-update-puppetdb-conf.sh}} for a good example of both filename and contents.\nPerhaps you should add the file {{45-update-puppetserver-conf.sh}} and sed the LOGDIR placeholder.\n(also see SERVER-3084 and fix this at the same time)\n\nAlso, the instructions at https://hub.docker.com/r/puppet/puppetserver lack any information regarding $LOGDIR, so add a section.\n\nPS: When I tried to find where the logging was setup I only found this file:\nhttps://github.com/puppetlabs/puppetserver/blob/6.x/docker/puppetserver/docker-entrypoint.d/90-log-config.sh\nThe filename could state it should setup the log config, but the contents has nothing to do with log setup, rather config printing.\nI think you should rename that file to {{90-print-config.sh}}.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15440", "fixedVersions": [], "id": "15440", "issueType": "Bug", "key": "SERVER-3083", "labels": ["container", "docker", "puppetserver"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "resolution": "Won't Do", "resolutionDate": "2021-09-20T13:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "docker: puppetserver.conf LOGDIR unhandled", "timeSpent": "PT0S", "updated": "2021-09-20T13:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-09-13T00:55:00.000000", "creator": "5fd8f370208dbf0107d2bc4c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68e193d4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b4vv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_44580834_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17211", "fixedVersions": [], "id": "17211", "issueType": "Sub-task", "key": "SERVER-3082", "labels": [], "originalEstimate": "PT0S", "parent": "16635", "parentSummary": "Problem uploading new CRL to Puppet Server with Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fd8f370208dbf0107d2bc4c", "resolution": "Duplicate", "resolutionDate": "2021-09-13T13:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "TEST", "timeSpent": "PT0S", "updated": "2021-09-13T13:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-09-13T00:55:00.000000", "creator": "5fd8f370208dbf0107d2bc4c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c9deba0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": []}, {"fieldName": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|o0b4vf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_44572584_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16875", "fixedVersions": [], "id": "16875", "issueType": "Sub-task", "key": "SERVER-3081", "labels": [], "originalEstimate": "PT0S", "parent": "16635", "parentSummary": "Problem uploading new CRL to Puppet Server with Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fd8f370208dbf0107d2bc4c", "resolution": "Duplicate", "resolutionDate": "2021-09-13T13:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "DEV", "timeSpent": "PT0S", "updated": "2021-09-13T13:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "5fd8f370208dbf0107d2bc4c", "created": "2021-10-01T05:38:00.000000", "name": "intermediate.crl.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11250"}, {"attacher": "5fd8f370208dbf0107d2bc4c", "created": "2021-10-01T05:38:00.000000", "name": "intermediate.crl.with.revoke.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11171"}, {"attacher": "5fd8f370208dbf0107d2bc4c", "created": "2021-10-01T05:38:00.000000", "name": "root.crl.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11094"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I was unable to reproduce this issue with my certificates. I'll try following the steps in your blogpost next.\n\nHowever, generally speaking, the reason the errors are vague is that the underlying SSL libraries are also exceedingly vague in their errors. There is very little information to work with, which is possibly partly by design on the library's part, it being so concerned with the key pieces of a system's security setup.\n\nIf I can reproduce this, there might be better messaging we can add, but lacking that, maybe there are docs improvements that could be made.", "created": "2021-09-29T17:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Following the instructions in your blog post, I noticed that CRLs generated do not have the {{Authority Key Identifier}} extension. We rely on this -- specifically the {{keyid}} version of it -- to make sure we're replacing the right CRLs in the chain. Since this is the field that associates a CRL with its cert, if a CRL doesn't have one, we won't be able to identify it in your submission. See the source code [here|https://github.com/puppetlabs/puppetserver/blob/01acfc93749ecaa8214ffc87d4b86381ff738ec5/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1469-L1484]. In your case, this can be accomplished by adding {{crl_extensions = crl_ext}} to the {{CA_default}} section of your {{openssl.cnf}}. The {{crl_ext}} section below already contains the right config, {{authorityKeyIdentifier = keyid:always}}, it just wasn't being used with those commands from your blogpost.\n\nThe good news is, I think we can surface this requirement through a better error message, and update the docs to make it clear this is required. Thanks for the report!", "created": "2021-09-30T10:40:00.000000"}, {"author": "5fd8f370208dbf0107d2bc4c", "body": "Adding\u00a0{{crl_extensions = crl_ext}} does not solve the issue. So I created 2 gists with my current openssl configuration including the crl extensions.\n\nroot ca\n [https://gist.github.com/tom-krieger/c969f94ac7d179913d52bbec293d6989]\n\nintermediate ca\n [https://gist.github.com/tom-krieger/035daf0bafe797b8c7ed2864be9d13f7]\n\n\u00a0\n\nFor PE installation I have a root crl and an intermediate crl. Both I attach as files to this ticket. I created a server certificate with my intermediate ca and revoked it again. So I got a second crl for my intermediate CA which I want to upload after PE was fully installed. I used 2 days for crl lifetime default. In PE I see the two crls with 1 day left until expiry. So the import of the crl bundle during installation works.\n\nWhat I see from the root ca crl is:\n{code:java}Certificate Revocation List (CRL):\n        Version 2 (0x1)\n    Signature Algorithm: sha256WithRSAEncryption\n        Issuer: /C=DE/ST=Bavaria/L=Amberg/O=Toms Home Datacenter/OU=IT/CN=Puppet Root CA/emailAddress=admin@tom-krieger.de\n        Last Update: Oct  1 10:19:50 2021 GMT\n        Next Update: Oct  3 10:19:50 2021 GMT\n        CRL extensions:\n            X509v3 Authority Key Identifier: \n                keyid:EF:1B:1E:C7:DE:5B:A9:9F:13:B1:51:0C:BC:35:C4:D3:B4:9B:94:87            X509v3 CRL Number: \n                4096\nNo Revoked Certificates.\n    Signature Algorithm: sha256WithRSAEncryption\n{code}\nFor the intermediate CA crl it looks like this before revoking a cert:\n{code:java}Certificate Revocation List (CRL):\n        Version 2 (0x1)\n    Signature Algorithm: sha256WithRSAEncryption\n        Issuer: /C=DE/ST=Bavaria/O=Toms Home Datacenter/OU=IT/CN=Puppet Intermediate CA/emailAddress=admin@tom-krieger.de\n        Last Update: Oct  1 10:20:03 2021 GMT\n        Next Update: Oct  3 10:20:03 2021 GMT\n        CRL extensions:\n            X509v3 Authority Key Identifier: \n                keyid:4C:EB:CC:56:D8:A3:38:F2:F6:AA:E4:04:51:AD:F9:AB:38:10:7C:92            X509v3 CRL Number: \n                4096\nNo Revoked Certificates.\n    Signature Algorithm: sha256WithRSAEncryption\n{code}\nAnd finally thats the new crl for the intermediate CA with one revoked certificate:\n{code:java}Certificate Revocation List (CRL):\n        Version 2 (0x1)\n    Signature Algorithm: sha256WithRSAEncryption\n        Issuer: /C=DE/ST=Bavaria/O=Toms Home Datacenter/OU=IT/CN=Puppet Intermediate CA/emailAddress=admin@tom-krieger.de\n        Last Update: Oct  1 11:06:57 2021 GMT\n        Next Update: Oct  3 11:06:57 2021 GMT\n        CRL extensions:\n            X509v3 Authority Key Identifier: \n                keyid:4C:EB:CC:56:D8:A3:38:F2:F6:AA:E4:04:51:AD:F9:AB:38:10:7C:92            X509v3 CRL Number: \n                4097\nRevoked Certificates:\n    Serial Number: 1000\n        Revocation Date: Oct  1 11:06:23 2021 GMT\n    Signature Algorithm: sha256WithRSAEncryption\n{code}\nAs far as I can see the key identifiers for both crls of the intermediate CA are identical, the CRL number was increased by 1 for the second crl. All seems ok for my at that point.\n\nTrying to upload the new crl for the intermediate CA with curl fails with error 400.\n\nAnother question: is it possible, that this issue is related to Ubuntu 18.04 LTS which my customer will use for PE and therefore I used for my tests?\u00a0\n\nI would like to figure out all pitfalls I fell into so we can provide some guidance to our customers .\n\nDo you mind to share a working example openssl configuration with me to test and figure possible problems out?", "created": "2021-10-01T05:52:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I was able to reproduce this using the script from your blogpost, on OSX. I think there are a couple of things going on:\n* We only allow updates of non-leaf CRLs. So revoking a cert with the intermediate CA cert and then trying to use the endpoint to upload that will not work. You should try with an updated CRL for the root CA cert.\n* Changing the {{data}} flag in the curl command to {{data-binary}} allowed the request to succeed for me, submitting an updated root CRL.\n\nFrom curl's manpage:\n{code}\n       --data-binary <data>\n              (HTTP) This posts data exactly as specified with no extra process-\n              ing whatsoever.\n\n              If you start the data with the letter @,  the  rest  should  be  a\n              filename.   Data is posted in a similar manner as -d, --data does,\n              except that newlines and carriage returns are preserved  and  con-\n              versions are never done.\n{code}\n\nI think perhaps the newline preservation is key here.\n\nBoth of these things are lacking in [the docs|https://puppet.com/docs/puppet/7/server/http_certificate_revocation_list.html#update-crls-with-crl-pem] and should definitely be called out. See [this commit|https://github.com/puppetlabs/puppetserver/commit/e4145e8ba09907ed1e2f597b6b3b6d6c5cd84ee0] for me clearly thinking the same thing in the past about not replacing the leaf CRL, but apparently neglecting to do anything about it xD", "created": "2021-10-06T17:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've got these docs updates in motion, and also want to fix the thing that was causing the 500 for you originally, to give a more informative error.\n\nPlease let me know if you're still having issues after this, but with those changes mentioned (auth key id, only trying to update the root CRL, and using {{data-binary}}), the rest of your blog post now works for me.", "created": "2021-10-06T17:52:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR to fix the 500 caused by the schema error: https://github.com/puppetlabs/puppetserver/pull/2590", "created": "2021-10-07T16:26:00.000000"}], "components": ["Puppet Server"], "created": "2021-09-13T00:55:00.000000", "creator": "5fd8f370208dbf0107d2bc4c", "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 upload of a newly created CRL is possible\n * Log messages in PE server log are more useful and give more insights, why a CRL is considered invalid."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@418d26d1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0w"}, {"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 CRL update endpoint will now issue a meaningful error message when a CRL without an authority key identifier is sent in the request body."}, {"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/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2483947402_*|*_1_*:*_1_*:*_53776163_*|*_10007_*:*_1_*:*_89555764_*|*_3_*:*_2_*:*_65950768_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1936447064_*|*_10005_*:*_1_*:*_73246673"}], "description": "I'm testing this setup for one of my customers. He's in the health industry and regulations demand that he has to use his own Intermediate CA for PE. He didn't manage to get this running, that's why I tested it to be able to give the customer some help. That's why I discovered a problem with uploading new CRLs into Puppet Server.\n\nFor information on how I setup my Root and Intermediate CA and how I installed Puppet Enterprise 2019.8.8 running into this issue, please refer to [https://blog.tom-krieger.de/2021/09/10/puppet-enterprise-with-intermediate-ca/]\n\nYou find all steps I did there and you can also find the openssl.cnf files and a script to create the CAs. Puppet Enterprise runs well after these steps. I have my own intermediate CA in Puppet Enterprise. I double checked this by\n\n\u00a0\n{code:java}root@okdsrv:~# openssl x509 -in /etc/puppetlabs/puppet/ssl/ca/signed/okdsrv.home.tom-krieger.de.pem -text -noout\nCertificate:\n Data:\n Version: 3 (0x2)\n Serial Number: 1 (0x1)\n Signature Algorithm: sha256WithRSAEncryption\n Issuer: C = DE, ST = Bavaria, O = <example corp>, OU = IT, CN = Intermediate CA, emailAddress = admin@example.com\n Validity\n Not Before: Sep 9 08:26:10 2021 GMT\n Not After : Sep 6 08:26:13 2036 GMT\n Subject: CN = okdsrv.home.tom-krieger.de\n Subject Public Key Info:\n Public Key Algorithm: rsaEncryption\n RSA Public-Key: (4096 bit){code}\nDue to the docs it is important, to take care about the CRLs using an own intermediate CA. So I created a shell script and tried to upload a new CRL. And that's where my problems start. I can not upload a newly created CRL. It always results in an error 400 and it is unimportant if I use a a with openssl created CRL or an invalid one. Both result in the same message. I turned up Puppet Server logging to trace level and did not find a useful error message in the logs explaining me what went wrong and why my newly generated CRL is not accepted.\n\nI tried to do the upload with curl, Postman and a self written Ruby client. All three have the new CRL in the body of the request. Postman and Ruby both result in an error 500 producing a stack trace in the puppet server logs with \"[nil (named \\\\{(not (map? nil)) invalid-key} key-crl-map)]\" message.\n\nUsing _curl_ always results in an error 400 or if I use data-binary option, in an error 500 with the above described stack trace.\n\nI tried the following CRLs:\n * new CRL for the Intermediate CA\n * new CRL for the root CA\n * combination of new CRL of intermediate CA and Root CA\n * a CRL which contains a revoked server certificate\n\nI also checked the\u00a0_/etc/puppetlabs/puppetserver/conf.d/auth.conf_ file if the path for CRL upload is set correctly. And as far as I can see, the settings are ok.\n\nWhy do I open this ticket:\n # The 400 error does not give any hint, why the CRL is considered invalid. That makes it very difficult for customers and me to deal with it.\n # The Puppet Server logs are currently not very helpful\n # I need some advice how to get the CRL upload running\u00a0\n\nIf you need further information please don't hesitate to contact me.\n\n*Outcomes*\n* Determine whether there is a bug here and, if so, fix it. \n* Otherwise, determine what the user is doing wrong to get these errors.\n\u00a0* Regardless of whether this is a bug or not, improve the error messaging for this endpoint.", "environment": "Short description of my environment, for more information please refer to the Blog Post I put into the description above. If contains my openssl.cnf files and a script to setup the Root and Intermediate CA. It also creates the files needed for the Puppet installer.\n\nCAs running on CentOS 7, fully patched\n\nPuppet Enterprise running on Ubuntu 18.04", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16635", "fixedVersions": ["SERVER 6.18.0", "SERVER 7.5.0"], "id": "16635", "issueType": "Bug", "key": "SERVER-3080", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5fd8f370208dbf0107d2bc4c", "resolution": "Fixed", "resolutionDate": "2021-11-06T11:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Problem uploading new CRL to Puppet Server with Intermediate CA", "timeSpent": "PT0S", "updated": "2021-12-07T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I got this succesfully installing in an isolated dir with all its dependencies and can manually submit metrics using it, pending this change to dropsonde: https://github.com/puppetlabs/dropsonde/pull/13.\n\nNext up, put together a simple tk-scheduler task to run it periodically.", "created": "2021-10-08T16:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ran into an issue where shelling out from within puppetserver causes {{dropsonde}} to be run as the {{puppet}} user rather than {{root}}, which mean it [looks in the wrong spot|https://github.com/puppetlabs/puppet/blob/665ee61a69b202d74837f9352ec5dfc577b0650d/lib/puppet/util/run_mode.rb#L55-L67] for Puppet's files (it assumes a non-root install). I don't know yet what a reasonable way around this might be. It _might_ invalidate the idea of using a tk-scheduler job.", "created": "2021-10-11T17:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] to follow up:\n\nI was able to get this to work by doing a couple of hacky things.\n1. Set the {{HOME}} env var to the dropsonde data dir when [shelling out|https://github.com/puppetlabs/puppetserver/pull/2591/files#diff-4132be7b1230c67cbad2fbdd8c00edc4c365d935adc45ad7d4d932c1276a0502R15] for the command. This is needed because the {{puppet}} user does not have a home directory, so Ruby can't properly expand {{~}} in that context, which it attempts to do when resolving defaults, regardless of what is done in (2) below.\n2. Initialize Puppet's settings in Dropsonde like so:\n{code}\n  Puppet.initialize_settings([\"--confdir\", \"/etc/puppetlabs/puppet\",\n                              \"--codedir\", \"/etc/puppetlabs/code\",\n                              \"--logdir\", \"/var/log/puppetlabs/puppetserver\",\n                              \"--vardir\", \"/opt/puppetlabs/server/data/puppetserver\"])\n{code}\n\nHard coding this in dropsonde is obviously not feasible. We can't pass things on the Dropsonde CLI because the settings are [initialized|https://github.com/puppetlabs/dropsonde/blob/423892b144dd2a2a7b1b3b5d47c95b0b54424e05/lib/dropsonde.rb#L18] _before_ the CLI args are evaluated, and it will error while attempting to resolve settings without these passed. We might be able to use environment variables, that could be set when invoking the command in Puppet Server. These could be set to values from Puppetserver's config. I'll try that out next.", "created": "2021-10-19T18:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Okay got this working, in two parts:\nDropsonde https://github.com/puppetlabs/dropsonde/pull/14\nPuppetserver https://github.com/puppetlabs/puppetserver/pull/2591", "created": "2021-10-25T13:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:605bbb3d2f7d9000709ed091] [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] Last open question from me is whether we want it off or on by default. I'm not really concerned about it breaking anyone, fwiw, the way it is ultimately implemented.\n\nAnd then, is one of you or the IAC team going to handle sending out comms, or should Froyo do it?", "created": "2021-10-26T09:50:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is blocked until Dropsonde is released and we get an answer to ^^.", "created": "2021-10-27T12:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're going to leave this opt-in for now, and switch to opt-out in the next major release.", "created": "2021-10-29T10:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Pulled the update dropsonde gem into my PR, should be good to go now.", "created": "2021-11-17T10:44:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Had to make a couple of adjustments for merging this up to {{main}}, see https://github.com/puppetlabs/puppetserver/pull/2597", "created": "2021-11-17T18:01:00.000000"}], "components": [], "created": "2021-09-08T14:49: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@2fc6becc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jra"}, {"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": "Users can now enable module metrics collection via Dropsonde. To turn this on, configure `dropsonde: { enabled: true }` in `puppetserver.conf`. By default, it collect metrics on service start and then once a week thereafter."}, {"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_*:*_130528142_*|*_1_*:*_1_*:*_4432047_*|*_10007_*:*_3_*:*_226718227_*|*_3_*:*_3_*:*_868845619_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_2408671289_*|*_10006_*:*_1_*:*_2088643760_*|*_10005_*:*_1_*:*_504175538"}], "description": "In order to install dropsonde alongside the puppetserver package, we need a way to ship the gem without its dependencies interfering with the other gems installed by the server and agent packages.\n\nWe should try to have the puppetserver package install dropsonde in an isolated gem dir, with all its dependencies, self-contained, and then see what it would take to run its CLI using puppet-agent's ruby. This can probably be accomplished by adding to https://github.com/puppetlabs/puppetserver/blob/6.x/resources/ext/build-scripts/install-vendored-gems.sh, putting dropsonde with its deps in a third dir.\n\n*Outcome*\n* determine if this is a feasible path forward to making dropsonde available to puppetserver out of the box\n* If simple, finish the implementation. If complicated, consider writing up for handoff to IAC or file another ticket to track the work for us.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16873", "fixedVersions": ["SERVER 6.18.0", "SERVER 7.5.0"], "id": "16873", "issueType": "Task", "key": "SERVER-3079", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-11-19T16:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Package dropsonde in an isolated gem dir", "timeSpent": "PT0S", "updated": "2021-12-16T09:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "cc [~accountid:60e4906e4134aa006931a5d6] we're hoping to pull this into our next sprint, which starts tomorrow. Do you think you'll have bandwidth for that?\n\n[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] will add some links to existing docs where this new flag should be added.", "created": "2021-09-07T11:54:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0I can do that, no problem. Thanks for the assistance on where to look for things as I continue to learn my way around the documentation.", "created": "2021-09-07T11:58:00.000000"}], "components": [], "created": "2021-09-03T15:53:00.000000", "creator": "61b104456d002b006b47d72c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a3df7a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0ays3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_529121_*|*_3_*:*_1_*:*_594211184_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_693364289_*|*_10005_*:*_1_*:*_333438815"}], "description": "Document the use of the --{{force}}\u00a0flag for the command {{puppetserver ca generate}}.\u00a0 The flag is only meant to be use with {{-ca-client}}\u00a0flag when running the {{generate}} subcommand.\u00a0Note that this should be used only when the status of the server cannot be determined, but the user knows that the server is offline.\n\nThe subcommands are documented [here|https://puppet.com/docs/puppet/7/server/subcommands.html#available-actions] but no special mention is made of {{generate --ca-client}}. We could add a mention of it, but I don't think {{force}} should be mentioned at that level.\n\nHowever, there's a cert regen workflow doc, with a note under step 4 [here|https://puppet.com/docs/puppet/7/ssl_regenerate_certificates.html#regenerate_agent_certs_and_add_dns_alt_names], where it might be good to mention that {{--force}} can be used if the tool cannot determine that the server is offline, but the user knows that it is.\n\n[This page|https://puppet.com/docs/puppet/7/puppet_server_ca_cli.html] also calls out {{generate --ca-client}}, so might be good to mention there too?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15870", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "15870", "issueType": "Task", "key": "SERVER-3078", "labels": ["DOCS"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61b104456d002b006b47d72c", "resolution": "Fixed", "resolutionDate": "2021-09-22T10:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document `--force` flag for `puppetserver ca generate` action", "timeSpent": "PT0S", "updated": "2021-09-22T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-09-03T08:33:00.000000", "creator": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "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": "No custom changes to the puppetserver should go into the docker-container's own filesystem (overlay2), but into a persistent volume."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b35d301"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:90i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Sep/21"}], "description": "*Puppet Server Version:* All (the container currently use 7.2.1-1bionic)\n *OS Name/Version:* Any linux (probably the same problem in Windows)\n\nThis issue concerns puppetserver run as a docker container.\n\nThe project [https://github.com/puppetlabs/puppetserver/] does not have its own Issue tracking at github (as pupperware do), so I file this ticket here at tickets.puppetlabs.com instead:\n\nJust a thought...\n\nBy default r10k uses the path /etc/puppetlabs/r10k/r10k.yaml to look for its conf file.\n However, the path /etc/puppetlabs/r10k/ does not reside in any of the persistent docker volumes for puppetserver. :-/\n\nIf I manually create the dir /etc/puppetlabs/r10k/ and create a conf-file r10k.yaml, and later remove/upgrade the puppetserver container, these changes are lost.\n\nSuggestion:\n In the puppetserver image, create a symlink to a sample r10k.yaml file placed in the root of persistent volume 'puppetserver-config' (i.e. next to puppet.conf, puppetdb.conf, etc):\n{noformat}\nIn the root of volume 'puppetserver-config', create:\n\u00a0 ./r10k.yaml\u00a0\u00a0 <-- sample file with all lines commented out\n\nIn the puppetserver image (https://github.com/puppetlabs/puppetserver/blob/6.x/docker/puppetserver/Dockerfile),\nadd:\n  mkdir /etc/puppetlabs/r10k\n \u00a0ln -s /etc/puppetlabs/puppet/r10k.yaml /etc/puppetlabs/r10k/r10k.yaml\n{noformat}\n\n*Desired Behavior:*\n Make ones r10k.yaml conf persistent.\n\n*Actual Behavior:*\n After the container is removed/updated, the file is gone.\n\n\n\nExample of how I do:\nPS: A possible workaround is to use 'r10k -c' to always point r10k to a custom r10k.yaml file that you have stored anywhere in a persistant volume, but I don't want this. I want to be able to exec into the container and run r10k without any extra options.\n\nPPS: My r10k fetches stuff from repos using git, which uses ssh. Here too I want things to \"work as normal\" when I exec into the container and run r10k/git/ssh. This means that I do more symlinks than just the one above.\n\nSince I need a persistent place to store files, I put them all in a new sub-folder called {{containerfs-links}}, to logically separate my \"extra files\" from the ones that are normally placed in the volume.\nThere are three persistent volumes to choose from, I choose {{puppetserver-config}} which is mounted at /etc/puppetlabs/puppet.\nSo /etc/puppetlabs/puppet/containerfs-links/* is where I place my persistent extra files.\nHere's just an example of the changes I make to the puppetserver image, to get things the way I need:\n{noformat}\n# cat Dockerfile\nFROM puppet/puppetserver:7.4.0\n\n# Add ssh-client so that r10k/git can fetch repos via ssh.\n# Add nano, vim and netcat for when working/debugging within the container.\nRUN echo 'APT::Install-Recommends \"0\";' > /etc/apt/apt.conf.d/01_no_recommends && \\\n  apt-get update && \\\n  apt-get -y install cron openssh-client nano-tiny vim-tiny netcat-openbsd && \\\n  ln -s /bin/nano-tiny /usr/local/bin/nano && ln -s /usr/bin/vim.tiny /usr/local/bin/vim\n\n# By default, /etc/puppetlabs/r10k/r10k.yaml is used, but this dir and file don't exist so we create them and point to our persistent place.\n# Prepare symlinks for ssh (git) access to repos.\nRUN mkdir /etc/puppetlabs/r10k && ln -s /etc/puppetlabs/puppet/containerfs-links/r10k.yaml /etc/puppetlabs/r10k/r10k.yaml && \\\n  mkdir /root/.ssh && ln -s /etc/puppetlabs/puppet/containerfs-links/root/.ssh/id_rsa_for_puppet-master-fetchrepos /root/.ssh/id_rsa && \\\n  ln -s /etc/puppetlabs/puppet/containerfs-links/root/.ssh/id_rsa.pub_for_puppet-master-fetchrepos /root/.ssh/id_rsa.pub && \\\n  ln -s /etc/puppetlabs/puppet/containerfs-links/root/.ssh/known_hosts /root/.ssh/known_hosts\n\n# Let us have our own version of auth.conf and handle the catch22 the very first time the stack is started and our version don't exist yet.\n# This must be executed in the running docker (with the volume mounted), it can't be done with just a symlink directly in the image.\nRUN mkdir /docker-custom-entrypoint.d && echo '#!/bin/bash\\n\\\n# If our version does not (yet) exist, link to the original so puppetserver can start\\n\\\nif [ ! -f /etc/puppetlabs/puppet/containerfs-links/puppetserver/conf.d/auth.conf ]; then\\n\\\n  mkdir -p /etc/puppetlabs/puppet/containerfs-links/puppetserver/conf.d\\n\\\n  mv /etc/puppetlabs/puppetserver/conf.d/auth.conf /etc/puppetlabs/puppet/containerfs-links/puppetserver/conf.d/auth.conf\\n\\\nelse\\n\\\n  mv /etc/puppetlabs/puppetserver/conf.d/auth.conf /etc/puppetlabs/puppetserver/conf.d/auth.conf.original_from_container\\n\\\nfi\\n\\\nln -s /etc/puppetlabs/puppet/containerfs-links/puppetserver/conf.d/auth.conf /etc/puppetlabs/puppetserver/conf.d/auth.conf' > /docker-custom-entrypoint.d/10-auth.conf.sh\n\n# Start a cron daemon inside the continer to do tasks like running r10k.\n# Clear all default files installed by the package.\nRUN echo '#!/bin/bash\\n\\\nrm -f /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/*\\n\\\necho \"SHELL=/bin/sh\\nPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\\n\" > /etc/crontab\\n\\\necho \"#*/5     *       *       *       *       root    /usr/local/bin/run-r10k 2>&1 | /bin/grep -v \\\"Could not acquire lock. Exiting.\\\"\" >> /etc/crontab\\n\\\n/usr/sbin/cron' > /docker-custom-entrypoint.d/50-cron.sh\n\n# More stuff\nRUN chmod 755 /docker-custom-entrypoint.d/* && \\\n  ...blah... && \\\n  ...blah...\n{noformat}\n", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "15181", "fixedVersions": [], "id": "15181", "issueType": "Improvement", "key": "SERVER-3077", "labels": ["container", "docker", "puppetserver", "r10k", "volume"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:77e61db9-5988-47b2-a5fb-b2bf857ff07c", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "docker container: Make r10k.yaml persistent", "timeSpent": "PT0S", "updated": "2022-03-09T09:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-08-26T17:19:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a380952"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0au17:"}, {"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": "Puppet Server now supports TLS 1.3 and associated cipher suites by default."}, {"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_*:*_156447174_*|*_1_*:*_1_*:*_42505_*|*_10007_*:*_1_*:*_344824716_*|*_3_*:*_1_*:*_539266_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_265560861_*|*_10005_*:*_1_*:*_412982274"}], "description": "Update pe-puppet-server-extensions to clj-parent 4.8.0, which includes the updated tk-jetty9.\n\n(puppetserver has already been updated automatically).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14837", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "14837", "issueType": "Improvement", "key": "SERVER-3076", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-09-09T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update to new tk-jetty9 version to enable TLSv1.3 by default", "timeSpent": "PT0S", "updated": "2021-09-19T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "cc [~accountid:60e4906e4134aa006931a5d6] We're gonna do this in the next sprint, so that we can remove el-6 in the next Platform 7 release.", "created": "2021-11-09T11:34:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "I _think_ this is the only place that needs to be updated: https://puppet.com/docs/puppet/7/server/install_from_packages.html#supported-operating-systems\nBut please correct me if you know of other places where we list supported Server platforms.", "created": "2021-11-19T10:52:00.000000"}], "components": [], "created": "2021-08-24T13:05:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@476e6b0c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a94007"}, {"fieldName": "Release Notes", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Enhancement"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_452261_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1859938873_*|*_10005_*:*_1_*:*_6650486253"}], "description": "Update docs to remove el-6-x86_64 as a supported server platform.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15869", "fixedVersions": [], "id": "15869", "issueType": "Task", "key": "SERVER-3075", "labels": ["DOCS"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-12-01T00:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update FOSS docs to remove el-6-x86_64 as a supported server platform", "timeSpent": "PT0S", "updated": "2021-12-01T00:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-08-24T13:05:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59c011e8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a94006x"}, {"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_*:*_14169736_*|*_1_*:*_1_*:*_453670_*|*_10007_*:*_1_*:*_65201449_*|*_3_*:*_1_*:*_87953169_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_707825844_*|*_10005_*:*_1_*:*_6650490844"}], "description": "Remove el-6-x86_64 from [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17463", "fixedVersions": ["SERVER 7.5.0"], "id": "17463", "issueType": "Task", "key": "SERVER-3074", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2021-11-19T14:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable el-6-x86_64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-08-24T13:05:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3bc4e218"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a94006v"}, {"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": "Removed support for el6 in puppetserver 7."}, {"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_*:*_14125451_*|*_1_*:*_1_*:*_450304_*|*_10007_*:*_1_*:*_65208221_*|*_3_*:*_1_*:*_87869292_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_707917836_*|*_10005_*:*_1_*:*_6650485155"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for el-6-x86_64\n* Remove el-6-x86_64 from [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17210", "fixedVersions": ["SERVER 7.5.0"], "id": "17210", "issueType": "Task", "key": "SERVER-3073", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2021-11-19T14:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable el-6-x86_64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a3c32eb"}, {"fieldName": "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-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr"}, {"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_*:*_75957269_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_775388970_*|*_10005_*:*_1_*:*_1737472984"}], "description": "(Initial planned release date: 2021-09-14)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.3.1\" AND issuetype=Epic] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-09-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "15868", "fixedVersions": [], "id": "15868", "issueType": "Task", "key": "SERVER-3072", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-22T14:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.4.0)", "timeSpent": "PT0S", "updated": "2021-09-22T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by\u00a0https://puppet.atlassian.net/browse/RE-14251", "created": "2021-08-24T12:55:00.000000"}], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47c67f00"}, {"fieldName": "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-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0arcr:"}, {"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/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_76033907_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-09-14)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-09-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "15439", "fixedVersions": [], "id": "15439", "issueType": "Task", "key": "SERVER-3071", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Duplicate", "resolutionDate": "2021-08-24T12:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 7.3.1)", "timeSpent": "PT0S", "updated": "2021-08-24T12:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:60e4906e4134aa006931a5d6] can this be closed? I assume so, since this release went out already, but I didn't see the release notes doc or anything, so not sure.", "created": "2021-09-24T15:48:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0Yes, I'll close- thanks! Slipped my mind before.", "created": "2021-09-27T09:36:00.000000"}], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e77b549"}, {"fieldName": "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-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr9"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Sep/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_75995316_*|*_3_*:*_1_*:*_1023728447_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_163904224_*|*_10005_*:*_1_*:*_1738094254"}], "description": "(Initial planned release date: 2021-09-14)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.4.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.4.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-09-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "15180", "fixedVersions": [], "id": "15180", "issueType": "Task", "key": "SERVER-3070", "labels": ["DOCS", "release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-09-27T09:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.4.0)", "timeSpent": "PT0S", "updated": "2021-09-27T09:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ticketmatch looks good, the two tickets that are still going through CI have cleared FOSS and are just waiting on PE.", "created": "2021-09-08T16:34:00.000000"}], "components": [], "created": "2021-08-23T15:47:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1892312e"}, {"fieldName": "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-11219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000j9"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_3149717_*|*_1_*:*_1_*:*_76008590_*|*_3_*:*_1_*:*_174589407_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1308895723"}], "description": "(Initial planned release date: 2021-09-14)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 7.4.0 is built and ready for testing.\n", "duedate": "2021-09-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "estimate": "PT0S", "externalId": "14896", "fixedVersions": [], "id": "14896", "issueType": "Task", "key": "SERVER-3069", "labels": ["release"], "originalEstimate": "PT0S", "parent": "28829", "parentSummary": "Puppet Platform 7.11.0 Release - 2021-09-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-09-10T17:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 7.4.0)", "timeSpent": "PT0S", "updated": "2021-09-10T17:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-08-20T07:10:00.000000", "creator": "623c10eb9b54ec0068b142e0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54c630a0"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91i"}], "description": "\u00a0\n\n*Issue:*\n\nWhen i try to start/restart or recreate the puppetserver docker container while there are already certs other than the ca.pem and the puppet.pem certificate present inside the /etc/puppetlabs/puppet/ssl/certs/ folder, it will fail while executing the last entrypoint script (\u00a0/docker-entrypoint.d/90-log-config.sh ).\n\nIn my case its a generated cert for the puppetboard docker container.\n\n+_This happens because of this line_+: [https://github.com/puppetlabs/puppetserver/blob/main/docker/puppetserver/docker-entrypoint.d/90-log-config.sh#L9]\n\nIn this scenario it now has multiple cert names seperated by a new line inside of the variable it uses to check the server cert, because there is no check that it will only grab a single name. Even if it would grab only the first one of the listing it would be the wrong one.\n\n+_This pull request would open a possible workaround_+ by having PUPPET_HOSTNAME set: [https://github.com/puppetlabs/puppetserver/pull/2470]\n\nbut that would not fix the underlying problem of determining the right name without external input. Maybe it shouldn't try to do that in the first place.\n\n\u00a0\n\n*Desired Behavior:*\n\npuppetserver inside the docker container starts successfully with other certs present inside of /etc/puppetlabs/puppet/ssl/certs/ folder\n\n\u00a0\n\n*Actual Behavior:*\n\ncontainer restart loop\n\n\u00a0\n\ndocker-compose log:\n{noformat}puppet_1       | Running /docker-entrypoint.d/10-analytics.sh\npuppet_1       | (/docker-entrypoint.d/10-analytics.sh) Pupperware analytics disabled; skipping metric submission\npuppet_1       | Running /docker-entrypoint.d/20-use-templates-initially.sh\npuppet_1       | Running /docker-entrypoint.d/30-set-permissions.sh\npuppet_1       | Running /docker-entrypoint.d/40-update-puppetdb-conf.sh\npuppet_1       | Running /docker-entrypoint.d/50-set-certname.sh\npuppet_1       | Running /docker-entrypoint.d/55-set-masterport.sh\npuppet_1       | Running /docker-entrypoint.d/60-setup-autosign.sh\npuppet_1       | Running /docker-entrypoint.d/70-set-dns-alt-names.sh\npuppet_1       | Running /docker-entrypoint.d/80-ca.sh\npuppet_1       | Running /docker-entrypoint.d/85-setup-storeconfigs.sh\npuppet_1       | Running /docker-entrypoint.d/90-log-config.sh\npuppet_1       | System configuration values:\npuppet_1       | * HOSTNAME: 'puppet'\npuppet_1       | * hostname -f: 'puppet'\npuppet_1       | * PUPPETSERVER_HOSTNAME:PUPPET_MASTERPORT: 'puppet:8140'\npuppet_1       | * Generated certname: 'puppet.pem\npuppet_1       | puppetboard.pem'\npuppet_1       | * DNS_ALT_NAMES: 'puppet,puppet.[REDACTED_DOMAIN]'\npuppet_1       | * SSLDIR: '/etc/puppetlabs/puppet/ssl'\npuppet_1       | CA Certificate:\npuppet_1       | subject=CN = \"Puppet Enterprise CA generated on puppet at [REDACTED]\"\npuppet_1       | issuer=CN = Puppet Root CA: [REDACTED]\npuppet_1       |         X509v3 extensions:\npuppet_1       |             X509v3 Basic Constraints: critical\npuppet_1       |                 CA:TRUE\npuppet_1       |             X509v3 Key Usage: critical\npuppet_1       |                 Certificate Sign, CRL Sign\npuppet_1       |             X509v3 Subject Key Identifier: \npuppet_1       |                 [REDACTED]\npuppet_1       |             Netscape Comment: \npuppet_1       |                 Puppet Server Internal Certificate\npuppet_1       |             X509v3 Authority Key Identifier: \npuppet_1       |                 keyid:[REDACTED]\npuppet_1       | \npuppet_1       | Certificate puppet.pem\npuppet_1       | puppetboard.pem:\npuppet_1       | Can't open /etc/puppetlabs/puppet/ssl/certs/puppet.pem\npuppet_1       | puppetboard.pem for reading, No such file or directory\npuppet_1       | 140142905807296:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:69:fopen('/etc/puppetlabs/puppet/ssl/certs/puppet.pem\npuppet_1       | puppetboard.pem','r')\npuppet_1       | 140142905807296:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:76:\npuppet_1       | unable to load certificate{noformat}\n\u00a0", "environment": "pupperware / docker-compose / docker", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "14894", "fixedVersions": [], "id": "14894", "issueType": "Bug", "key": "SERVER-3067", "labels": ["docker"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c10eb9b54ec0068b142e0", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Container not able to (re)start when another cert is present inside the certs folder. (Container restart loop)", "timeSpent": "PT0S", "updated": "2022-03-09T09:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-08-19T15:45:00.000000", "creator": "61b104456d002b006b47d72c", "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": "* Update the {{prune}} action so that it will only accept and operate on one Puppet's CRL.\n * Provide the number of certificate within Puppet's CRL before pruning.\n * Fix the bug in {{http_client.rb}} that causes an error when not passing anything for the {{:query}} parameter."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18fc032e"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0ahrl:"}, {"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_*:*_437512107_*|*_1_*:*_1_*:*_1395706_*|*_5_*:*_1_*:*_0"}], "description": "{{puppetserver-ca prune}} is currently operating on a list of Puppet's CRL.\u00a0 This is unnecessary as there should be only one Puppet's CRL so there is no need to operate on a list of Puppet's CRL.\u00a0 Furthermore, update {{prune}} to log the number of certificates in the CRL before pruning to provide more information to the user.\u00a0\u00a0\n\nThere is also a small bug where not passing anything to the {{:query}} parameter when creating a new URL in {{http_client.rb}} will result in an error.\u00a0 This bug can be fix by simply adding a check for\u00a0parameter to be {{nil}} when creating a new URL.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "14893", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "14893", "issueType": "Task", "key": "SERVER-3066", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61b104456d002b006b47d72c", "resolution": "Done", "resolutionDate": "2021-08-24T17:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update `prune` action and fix params query bug", "timeSpent": "PT0S", "updated": "2021-08-24T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thanks for the report [~accountid:557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5]! We will keep an eye on this to see if anyone else encounters it. Please let us know if this is causing any problems for you!", "created": "2021-08-24T11:46:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "I was able to reproduce that error even without the USE_PUPPETDB=false setting. It looks like our containers are missing the {{/etc/protocols}} file because they are missing the {{netbase}} package. Once the package is installed, the container starts puppetserver without any errors. This appears to be because there are only a few packages installed that reference netbase, none of which actually depend on {{netbase}}.\n\n{code}\nroot@puppet:/# apt-cache --installed rdepends netbase\nnetbase\nReverse Depends:\n  perl\n  net-tools\n  perl\n{code}\n\nOf those, {{perl}}'s dependency is a Recommends, so it isn't getting installed, and {{net-tools}} Replaces: netbase (<< 4.00), but {{netbase}} is now version 5.2 so that filter doesn't apply.\n\nI think we need to ensure that all our containers have the {{netbase}} package installed.", "created": "2021-08-31T14:42:00.000000"}, {"author": "5f4f9a12fe0a46004df94320", "body": "I can confirm that the issue is present on latest Debian as well, even if you just install puppetserver from Puppet repository - so, no usage of premade docker containers based on old Ubuntu 18.04.\n\nBasically, create docker container from debian:latest, add repository and install puppetserver 7.x from there. Once you start the service, you get the same error, which can be solved by adding netbase package (currently 6.3), as already mentioned.\n\nMaybe you should add that to installation requirements, and of course, build docker images with netbase installed.\n\nOr simply add the following:\n\n/etc/ethertypes\n/etc/protocols\n/etc/rpc\n/etc/services\n\nas these are actually the only things in netbase package.\n\n\u00a0\n\nCheers.", "created": "2022-10-21T17:15:00.000000"}], "components": ["Puppet Server"], "created": "2021-08-18T10:12:00.000000", "creator": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@649c09cc"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:90o"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Aug/21"}], "description": "Hi,\n\nI'm occasionally using the official puppetserver docker image\u00a0 puppet/puppetserver for development and testing.\n\n\u00a0\n\nToday I've pulled the latest image with 7.3.0,\n\npuppet/puppetserver:latest e6724ddcacc3 \n\nwhich is just a few hours old.\n\n\u00a0\n\nSince then, when starting puppet server (with USE_PUPPETDB=false) I get two (non-lethal) voluminous error messages (see below, important lines pasted), but the puppet server still starts and works. \n\nI'm not sure whether this is just ugly output causing no real problem or really breaks something.\n\nJust to let you know. Does not really look reliable.\n\n\u00a0\n\nregards\n\nHadmut\n\n\u00a0\n\n\u00a0\n\npuppetserver_1 | 2021-08-18 15:33:50,248 WARN [j.n.NativeProtocolsDB] Failed to load native protocols db\npuppetserver_1 | java.lang.RuntimeException: getprotobyname_r failed\npuppetserver_1 | at jnr.netdb.NativeProtocolsDB$LinuxNativeProtocolsDB.getProtocolByName(NativeProtocolsDB.java:180)\npuppetserver_1 | at jnr.netdb.NativeProtocolsDB.load(NativeProtocolsDB.java:80)\npuppetserver_1 | at jnr.netdb.NativeProtocolsDB.access$000(NativeProtocolsDB.java:40)\n\n...\n\npuppetserver_1 | at com.puppetlabs.jruby_utils.jruby.InternalScriptingContainer.callMethodWithArgArray(InternalScriptingContainer.java:43)\npuppetserver_1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\npuppetserver_1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\npuppetserver_1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\npuppetserver_1 | at java.lang.reflect.Method.invoke(Method.java:498)\npuppetserver_1 | at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\npuppetserver_1 | at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\npuppetserver_1 | at puppetlabs.services.jruby.jruby_puppet_core$fn__36407$get_initialize_pool_instance_fn__36412$fn__36413$fn__36414.invoke(jruby_puppet_core.clj:138)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34181$create_pool_instance_BANG___34190$fn__34193.invoke(jruby_internal.clj:256)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34181$create_pool_instance_BANG___34190.invoke(jruby_internal.clj:225)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34599$add_instance__34604$fn__34608.invoke(jruby_agents.clj:52)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34599$add_instance__34604.invoke(jruby_agents.clj:47)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34626$prime_pool_BANG___34631$fn__34635.invoke(jruby_agents.clj:76)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34626$prime_pool_BANG___34631.invoke(jruby_agents.clj:61)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.instance_pool$fn__35188$fn__35189.invoke(instance_pool.clj:16)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:403)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:378)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:388)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:378)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14976$shutdown_service__14981$fn$reify__14983$service_fnk__5102__auto___positional$reify__14988.shutdown_on_error(internal.clj:448)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14906$G__14902__14914.invoke(internal.clj:411)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14906$G__14901__14923.invoke(internal.clj:411)\n\n\u00a0\n\n\u00a0\n\nand\n\n\u00a0\n\npuppetserver_1 | 2021-08-18 15:33:50,335 WARN [j.n.NativeServicesDB] Failed to load native services db\npuppetserver_1 | java.lang.RuntimeException: getservbyname_r failed\npuppetserver_1 | at jnr.netdb.NativeServicesDB$LinuxServicesDB.getServiceByName(NativeServicesDB.java:220)\n\n...\n\npuppetserver_1 | at com.puppetlabs.jruby_utils.jruby.InternalScriptingContainer.callMethodWithArgArray(InternalScriptingContainer.java:43)\npuppetserver_1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\npuppetserver_1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\npuppetserver_1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\npuppetserver_1 | at java.lang.reflect.Method.invoke(Method.java:498)\npuppetserver_1 | at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\npuppetserver_1 | at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\npuppetserver_1 | at puppetlabs.services.jruby.jruby_puppet_core$fn__36407$get_initialize_pool_instance_fn__36412$fn__36413$fn__36414.invoke(jruby_puppet_core.clj:138)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34181$create_pool_instance_BANG___34190$fn__34193.invoke(jruby_internal.clj:256)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34181$create_pool_instance_BANG___34190.invoke(jruby_internal.clj:225)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34599$add_instance__34604$fn__34608.invoke(jruby_agents.clj:52)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34599$add_instance__34604.invoke(jruby_agents.clj:47)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34626$prime_pool_BANG___34631$fn__34635.invoke(jruby_agents.clj:76)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34626$prime_pool_BANG___34631.invoke(jruby_agents.clj:61)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.instance_pool$fn__35188$fn__35189.invoke(instance_pool.clj:16)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:403)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:378)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:388)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:378)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14976$shutdown_service__14981$fn$reify__14983$service_fnk__5102__auto___positional$reify__14988.shutdown_on_error(internal.clj:448)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14906$G__14902__14914.invoke(internal.clj:411)\npuppetserver_1 | at puppetlabs.trapperkeeper.internal$fn__14906$G__14901__14923.invoke(internal.clj:411)\npuppetserver_1 | at clojure.core$partial$fn__5839.invoke(core.clj:2625)\npuppetserver_1 | at clojure.core$partial$fn__5839.invoke(core.clj:2624)\npuppetserver_1 | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34573$send_agent__34578$fn__34579$agent_fn__34580.invoke(jruby_agents.clj:41)\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "15867", "fixedVersions": [], "id": "15867", "issueType": "Bug", "key": "SERVER-3064", "labels": ["docker"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "java.lang.RuntimeException: getprotobyname_r failed in recent docker image", "timeSpent": "PT0S", "updated": "2022-10-21T17:15:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "61b104456d002b006b47d72c", "body": "The work for this ticket was combined into SERVER-3060", "created": "2021-08-17T15:38:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "(puppetserver 7.3.0 was already released, so updated that fix version)", "created": "2021-08-19T16:11:00.000000"}], "components": ["Puppet Server"], "created": "2021-08-17T11:37:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32774055"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0ahrk:"}, {"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": "17/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_153825777_*|*_1_*:*_1_*:*_11616_*|*_3_*:*_1_*:*_90261302_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_13193602"}], "description": "This failure came up in puppetsever's Travis scan and in our internal CI scans (see linked SEC ticket for details).\n\nThis appears to be a false positive and should be suppressed in both [puppetserver|https://github.com/puppetlabs/puppetserver/blob/6.x/ext/travisci/suppression.xml]\u00a0and [pe-pse|https://github.com/puppetlabs/pe-puppet-server-extensions/blob/2019.8.x/ext/travisci/suppression.xml].", "duedate": "2021-11-15T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14892", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "14892", "issueType": "Task", "key": "SERVER-3063", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-08-20T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Suppress core.cache-0.7.1.jar scan failure", "timeSpent": "PT0S", "updated": "2021-08-27T11:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [], "components": [], "created": "2021-08-10T12:29:00.000000", "creator": "61b104456d002b006b47d72c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4b0883dc"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a94006"}, {"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": "Puppetserver-ca CLI command `list` will now utilize the updated certificate_status endpoint for a faster performance when requesting for certificate requests."}, {"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_*:*_259130900_*|*_1_*:*_1_*:*_88179127_*|*_3_*:*_1_*:*_370464404_*|*_10009_*:*_1_*:*_61242968_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_79937350"}], "description": "Puppetserver CA CLI is currently very slow when querying for CSRs (or {{requested}} state).\u00a0 As of right now, when a user want to list all of the requests pending through using {{puppetserver ca list}}, the CLI would get all of the certificates and CSRs then filter to the user's queried state.\u00a0 The impact on performance is noticeable when the user has a lot of signed or revoked certificates.\u00a0\n\n*Outcome*\n\nUpdate the CLI (more specifically the {{list}}\u00a0action) to only look for CSRs when the state being queried is\u00a0{{requested}}. The performance when using {{puppetserver ca list}} should be faster than {{puppetserver ca list --all}} when there exists a lot of signed or revoked certificates.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15866", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "15866", "issueType": "Improvement", "key": "SERVER-3060", "labels": ["docs-reviewed", "froyo_intern"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61b104456d002b006b47d72c", "resolution": "Fixed", "resolutionDate": "2021-08-20T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve `puppetserver ca list` speed when querying for requests", "timeSpent": "PT0S", "updated": "2021-09-09T16:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Hey [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68], thanks for opening this! To clarify, did something actually break or did you just see this message but packages installed successfully? And can you tell us exactly what you did to encounter this? Looks like this message cropped up when installing postgresql, as opposed to when installing puppetserver - is that right? \n\nWe think [this|https://github.com/puppetlabs/puppetserver/blob/6.x/resources/ext/config/conf.d/puppetserver.conf#L41] is where that directory is configured, but it's going to be non-trivial to fix this for just CentOS 8, since earlier operating systems likely still use {{/var/run}}.", "created": "2021-08-10T11:41:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da],\nI just checked CentOS 7 and that has the same symlink:\n{code}\n[vagrant@localhost ~]$ ls -la /var/run\nlrwxrwxrwx. 1 root root 6 Apr 30  2020 /var/run -> ../run\n[vagrant@localhost ~]$ cat /etc/centos-release\nCentOS Linux release 7.9.2009 (Core)\n[vagrant@localhost ~]$\n{code}\n\nto reproduce the error on centos 8:\n{code}\ndnf install -y http://yum.puppet.com/puppet7-release-el-8.noarch.rpm\ndnf install -y puppetserver\nsystemd-tmpfiles --create puppetserver.conf\n{code}\n\nthat will create the following error message:\n{code}\n[puppetserver.conf:1] Line references path below legacy directory /var/run/, updating /var/run/puppetlabs/puppetserver \u2192 /run/puppetlabs/puppetserver", "created": "2021-08-12T02:32:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "okay I just checked all our supported server platforms for this symlink:\n* ubuntu-20.04-amd64\n* ubuntu-18.04-amd64\n* ubuntu-20.04-amd64\n* debian-9-amd64\n* debian-10-amd64\n* sles-12-x86_64\n* centos-8-x86_64\n* redhat-8-x86_64\n* centos-7-x86_64\n* redhat-7-x86_64\n* centos-6-x86_64\n* redhat-6-x86_64\n\nAll except for centos 6 and redhat 6 have a {{/var/run -> /run}} or {{/var/run -> ../run}} symlink, so we'll need to take that into account when determining if/how to update this.", "created": "2021-08-16T10:43:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] Do you know if there are any plans for dropping FOSS server/pdb support for el 6?", "created": "2021-08-17T11:51:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Nick says we can remove server/pdb support for el 6 in puppet7, which means we'll only fix this issue in puppet7. We'll need to send communications about this removal, I believe at least 90 days ahead of the actual removal. I will generate winston tickets for this effort.", "created": "2021-08-18T11:41:00.000000"}], "components": ["Puppet Server"], "created": "2021-08-10T07:18: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@8394a85"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91ki"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Aug/21"}], "description": "Hi,\nduring some playing with CentOS 8 I noticed the following error (I was installing the postgresql13-server package after puppetserver-7.2.1-1.el8.src.rpm):\n{code}\nError in <unknown> scriptlet in rpm package postgresql13-server\n[/usr/lib/tmpfiles.d/puppetserver.conf:1] Line references path below legacy directory /var/run/, updating /var/run/puppetlabs/puppetserver \u2192 /run/puppetlabs/puppetserver; please update the tmpfiles.d/ drop-in file accordingly.\n{code}\n\nthe tmpfile:\n{code}\n# cat /usr/lib/tmpfiles.d/puppetserver.conf\nd /var/run/puppetlabs/puppetserver 0755 puppet puppet -\n{code}\n\ncould you in the next release update this from /var/run to /run? It's a symlink on CentOS 8:\n\n{code}\n# ls -la /var/run\nlrwxrwxrwx. 1 root root 6 Dec  4  2020 /var/run -> ../run\n{code}\n\nI reported the same bug for PuppetDB https://puppet.atlassian.net/browse/PDB-5229", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16634", "fixedVersions": [], "id": "16634", "issueType": "Bug", "key": "SERVER-3059", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CentOS 8 package uses legacy path in tmpfiles", "timeSpent": "PT0S", "updated": "2022-03-09T09:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "Added docs at https://github.com/puppetlabs/osp-docs/pull/144", "created": "2021-07-23T15:11:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "hey [~accountid:557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe]. are there any docs for the scripts directory / what's the purpose of that? The question came up a few times on slack. Maybe that information can be added to the puppetserver changelog as well.", "created": "2021-10-15T04:26:00.000000"}, {"author": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "body": "Hey [~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] I think https://puppet.com/docs/bolt/latest/developer_updates.html#how-bolt-loads-scripts is the best overview we have written about what the changes are and why we're making them. All of this is mentioned there, but to give a little more detail: there are 2 main reasons we added the scripts directory:\n1. Many people were creating tasks when they didn't need to, and were then thinking that getting started with Bolt required a lot of setup and boilerplate that in reality wasn't needed. We're hoping that having a scripts directory encourages more people to just leave their scripts as scripts unless they need to make it a task.\n2. Having a more specific file path to files in Puppet modules is more readable and less \"magical\" (no special knowledge required).", "created": "2021-10-19T09:59:00.000000"}], "components": [], "created": "2021-07-23T10:25:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6202b191"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09zir:"}, {"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": "Puppetserver 6+ now has a new default mount named 'scripts' that can be used with API endpoints such as {{file_content}}, {{file_metadata}}, and {{static_file_content}} to load scripts from the {{scripts/}} directory of a module."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Oct/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_261035330_*|*_1_*:*_1_*:*_349812037_*|*_10007_*:*_1_*:*_1469619540_*|*_3_*:*_1_*:*_2138_*|*_5_*:*_1_*:*_0"}], "description": "The adds the new mount 'scripts' as a default mount for Puppetserver, which loads files from the `scripts/` directory of the specified module.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15865", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.3.0"], "id": "15865", "issueType": "Task", "key": "SERVER-3058", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2021-08-16T12:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add scripts as a default mount", "timeSpent": "PT0S", "updated": "2021-10-19T09:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "No updates found to submit to winston.", "created": "2021-08-24T17:09:00.000000"}], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27f90c5f"}, {"fieldName": "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-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a940w"}, {"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/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_334128763_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2523595894"}], "description": "(Initial planned release date: 2021-08-17)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.3.0\"] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-08-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "15435", "fixedVersions": [], "id": "15435", "issueType": "Task", "key": "SERVER-3057", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Done", "resolutionDate": "2021-08-24T17:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.3.0)", "timeSpent": "PT0S", "updated": "2021-08-24T17:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by https://puppet.atlassian.net/browse/RE-14224", "created": "2021-07-26T12:10:00.000000"}], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@67fd529f"}, {"fieldName": "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-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09xb7:"}, {"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/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_334192278_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-08-17)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-08-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "15179", "fixedVersions": [], "id": "15179", "issueType": "Task", "key": "SERVER-3056", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Duplicate", "resolutionDate": "2021-07-26T12:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 7.2.2)", "timeSpent": "PT0S", "updated": "2021-07-26T12:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "60e4906e4134aa006931a5d6", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hey [~accountid:60e4906e4134aa006931a5d6] would you mind adding a link to your release notes doc to this ticket? Wanted to check whether https://puppet.atlassian.net/browse/SERVER-3058 was included, since it landed a little late.", "created": "2021-08-16T11:11:00.000000"}, {"author": "60e4906e4134aa006931a5d6", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0Sure, here's the Google doc: [https://docs.google.com/document/d/1I3RpUI_-l5-I9Li-jTTNfvKaxhNTwGZCeVeI7WOZw04/edit#heading=h.sfjcfn2suia]\n\nI had not seen/included that issue", "created": "2021-08-16T11:17:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thanks! yeah, sorry about that, sometimes things land last minute \ud83d\ude05", "created": "2021-08-16T11:28:00.000000"}], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@339f7f6d"}, {"fieldName": "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-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a940ri"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_334118859_*|*_3_*:*_2_*:*_1550724542_*|*_5_*:*_2_*:*_346835497_*|*_10005_*:*_1_*:*_113492"}], "description": "(Initial planned release date: 2021-08-17)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.3.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.3.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-08-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "14891", "fixedVersions": [], "id": "14891", "issueType": "Task", "key": "SERVER-3055", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-08-17T11:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.3.0)", "timeSpent": "PT0S", "updated": "2021-08-17T11:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2021-07-22T15:20:00.000000", "creator": "61d4868af63ac800706ebb62", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f56f55a"}, {"fieldName": "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-11174"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a940r9"}, {"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_*:*_334107035_*|*_3_*:*_1_*:*_259018443_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1551550428"}], "description": "(Initial planned release date: 2021-08-17)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 7.3.0 is built and ready for testing.\n", "duedate": "2021-08-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "estimate": "PT0S", "externalId": "17462", "fixedVersions": [], "id": "17462", "issueType": "Task", "key": "SERVER-3054", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27675", "parentSummary": "Puppet Platform 7.10.0 Release - 2021-08-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d4868af63ac800706ebb62", "resolution": "Fixed", "resolutionDate": "2021-08-16T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 7.3.0)", "timeSpent": "PT0S", "updated": "2021-08-16T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0da2d32a94006a649651", "created": "2021-07-26T22:09:00.000000", "name": "container.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11170"}, {"attacher": "623c0da2d32a94006a649651", "created": "2021-07-20T22:32:00.000000", "name": "puppetserver-bad.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10785"}, {"attacher": "623c0da2d32a94006a649651", "created": "2021-07-26T21:41:00.000000", "name": "puppetserver-container", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11093"}, {"attacher": "623c0da2d32a94006a649651", "created": "2021-07-20T10:09:00.000000", "name": "puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11169"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Can you check that your CRL is in the expected place? There should be a CRL corresponding to your CA cert at {{/etc/puppetlabs/puppet/ssl/crl.pem}}. You can use {{openssl crl -noout -text -in <crl_path>}} to examine it, and make sure it's issued by your CA cert.", "created": "2021-07-20T12:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fwiw we don't test these packages on any Fedora versions, and it's not really supported. But at the same time, if it worked for you on the older version I can't think of a reason why it shouldn't work on the newer one.", "created": "2021-07-20T12:17:00.000000"}, {"author": "623c0da2d32a94006a649651", "body": "Yes, I acknowledge it is unsupported and I appreciate any assistance you can give. The only dependency which wasn't met was for /bin/mkdir (which is /usr/bin/mkdir in Fedora) so it was fairly straight forward to just install the rpm with dependency checking turned off.\n\n\u00a0\n\nI actually have my ssldir = /usr/local/etc/puppet/ssl, but to be sure, I added a symbolic link (from /etc/pupet/pupptlabs/ssl to /usr/local/etc/puppet/ssl) with no difference.\n\nstrace shows the crl being opened successfully:\n{quote}58864 openat(AT_FDCWD, \"/usr/local/etc/puppet/ssl/ca/ca_crl.pem\", O_RDONLY) = 69\n{quote}\nThe CRL looks OK and is signed which I can check with\n{quote}openssl crl -CAfile ca/ca_crt.pem -noout -in ca/ca_crl.pem\nverify OK\n{quote}\nI've attached\u00a0[^puppetserver-bad.log] created with -Djavax.net.debug=ssl.\n\n\u00a0", "created": "2021-07-20T22:44:00.000000"}, {"author": "623c0da2d32a94006a649651", "body": "I've created slimmed down container images. Using the attached script\u00a0[^puppetserver-container] . Which essentially does\n{quote}dnf --installroot=<target> --releasever=nn install ... puppetserver\n{quote}\nThen I can use the same script to create appropriate bind mounts which lets me do\n{quote}chroot <target> puppetmaster foreground\n{quote}\nThe configuration files, ssl directory etc are all bind mounted. The net result is I can easily test different images created exactly the same way, using exactly the same configuration, differing only in the version of Fedora they are based on.\n\nI can confirm that Fedora32 works, but Fedora33 and Fedora34 don't. This is a puzzle to say the least. The process does result in slightly different java release numbers but installing the Fedora32 version in the Fedora 33 or 34 image makes no difference, so it is not the JVM. As fas as I can tell, the SSL processing mostly happens in jetty, and the jetty code is all in the puppetserver package, not the system packages.\n\nFor now, I have resorted to just running the puppetserver in the Fedora32 container, which, fortunately systemd makes fairly easy using the attached dropin [^container.conf]. It is not a long term solution though.\n\n\u00a0", "created": "2021-07-26T22:11:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Since it sounds like you found a workaround and we don't explicitly support puppetserver packages for Fedora, I'm going to close this.\nBut heads up to [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] that there is some interest in this, if you're tracking interest in what platforms to support for puppetserver.", "created": "2021-08-03T11:42:00.000000"}], "components": ["Puppet Server"], "created": "2021-07-20T10:11:00.000000", "creator": "623c0da2d32a94006a649651", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36bc70aa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o09tzf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1215089653_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.8.0*\n *Puppet Server Version: 7.2.0*\n *OS Name/Version:*\n\nI have RedHat el8 packages for puppet agent and puppet server installed on Fedora 32 and Fedora 34. The Fedora 32 installation works but the Fedora 34 doesn't.\n\n*Desired Behavior:*\n\nAgents on client machines work as expected.\n\n*Actual Behavior:*\n\nConnections fail with SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown.\n\n\u00a0\n\nIf I mount a Fedora 32 image and run puppetserver in a chroot environment it works even with /opt/puppetlabs, /etc/puppetlabs and /etc/syconfig/puppetserver bind mounted so that the puppet configuration is identical in the Fedora 34 and Fedora 32 imagesa nd because it is in a chroot environment, both cases use the same kernel and same network and services (like dns).\n\nAdding -Djavax.net.debug=ssl -Djava.security.debug=access to JAVA_ARGS results in \"java.security.cert.CertPathValidatorException: Could not determine revocation status\", whereas for the Fedora 32 case, I get \"Found trusted certificate:\" at the same place.\n\nI am using the traditional self signed certificate and for both cases the logs show:\n\n***\n\nadding as trusted cert:\n Subject: CN=Puppet CA: puppet.beware.dropbear.id.au\n Issuer: CN=Puppet CA: puppet.beware.dropbear.id.au\n Algorithm: RSA; Serial number: 0x1\n Valid from Mon Feb 12 23:22:49 ACDT 2018 until Sun Feb 12 23:22:49 ACDT 2023\n\nand the keys are identical.\n\nI have installed the Fedora 32 version of java 8 on Fedora 34 and it still doesn't work.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14890", "fixedVersions": [], "id": "14890", "issueType": "Bug", "key": "SERVER-3053", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da2d32a94006a649651", "resolution": "Won't Do", "resolutionDate": "2021-08-03T11:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server Fails to Validate Keys on Fedora 34", "timeSpent": "PT0S", "updated": "2021-08-03T11:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Talked to Sean about this yesterday and pointed out the settings utils we made for multithreaded, which might be able to be slightly repurposed to more safely sandbox things for project compiles. The way that Bolt does it assumes that it doesn't need to reset any state afterwards, which is not true in this environment.", "created": "2021-07-20T10:43:00.000000"}], "components": [], "created": "2021-07-14T12:48:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1dd876e6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09gmj:"}, {"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": "20/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21797_*|*_10007_*:*_1_*:*_96503171_*|*_3_*:*_1_*:*_685581362_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_427119049"}], "description": "Be proactive about assisting the Skeletor team with apply blocks work that goes into puppetserver.\n\nBe prepared to review their PRs.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17209", "fixedVersions": ["None"], "id": "17209", "issueType": "Task", "key": "SERVER-3052", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-07-28T12:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Help Skeletor with apply blocks", "timeSpent": "PT0S", "updated": "2021-07-28T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:63d40628f6e1b543161789a7] Do you know when you need this done by?", "created": "2021-07-13T11:34:00.000000"}], "components": [], "created": "2021-07-08T17:25: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@363a9cb3"}, {"fieldName": "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": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09npn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_410952193_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_20567877334"}], "description": "Puppet's execution API supports a {{cwd}} option to specify the current working directory for the child process. However, puppetserver's implementation does not support it (it's also missing several other options, see SERVER-74).\n\nPuppet's {{generate}} function changes the current working directory of the command, but that affects the entire puppetserver java process and is not safe when multithreading is enabled or when there are multiple JRuby instances generating different commands, and those commands rely on the cwd behavior.\n\nSo in order to change the {{generate}} function, {{puppetserver}} would need to accept the {{cwd}} option.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "15434", "fixedVersions": [], "id": "15434", "issueType": "Task", "key": "SERVER-3051", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow cwd parameter to be specified when executing commands", "timeSpent": "PT0S", "updated": "2022-03-08T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] Do you know if this is something we want to do, and if so, what is the priority? I didn't see any conclusions from [~accountid:557058:6710b319-779a-49c9-b66f-f584a24dab53] in the thread linked above.", "created": "2021-07-13T11:42:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "can we just update line 178 to be puppetdb or satellite?  \n\nhttps://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L177-L182\n\nit seems like the satellite terminus just adds onto the puppetdb one and has all the same requirements as the pupeptdb terminus ?  \n\nhttps://github.com/puppetlabs/puppetlabs-satellite_pe_tools/blob/main/lib/puppet/indirector/facts/satellite.rb\n\n", "created": "2021-07-13T14:53:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] We just wanted to make sure this is something you want us to do. [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] was mentioning that it may have been an intentional decision to only support the puppetdb terminus in CD4PE. It sounds like a business decision, so we wanted Product input on whether or not we want to support satellite in this context. Have you talked to [~accountid:557058:6710b319-779a-49c9-b66f-f584a24dab53] at all about this?", "created": "2021-07-13T15:31:00.000000"}, {"author": "557058:6710b319-779a-49c9-b66f-f584a24dab53", "body": "Whatever you all agree is the right solution is fine with me. The end customer goal is that users with fact cache termini other than puppetdb should still be able to use Impact Analysis. Keep in mind we have created a fact cache terminus for two internal data POCs now, and I suspect it won't be the last time we develop a customer fact cache terminus.", "created": "2021-07-13T15:48:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Would one of you mind filling out some acceptance criteria? If I'm understanding correctly, we want to support any fact terminus for use with Impact Analysis, not just satellite. Do we want to support those other termini in the Platform/PE more generally? It doesn't seem like this [{{get_facts_from_puppetdb}}|https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L179] method will do the right thing for other termini, though I admit I don't know much about the facts termini yet. /cc [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "created": "2021-07-13T16:17:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "According to [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], we only need to focus on solving this for satellite (if we easily get support for other termini, great, but trying not to expand scope).\nWe should spike on this to determine the appropriate solution without too much investment.\n\nIf we go with Nick's proposed solution, we need to confirm that satellite will behave identically to the puppetdb terminus.", "created": "2021-08-04T11:49:00.000000"}, {"author": "70121:6ae14dd4-8d8c-46fe-8ef7-e6c4076362bf", "body": "All, I've had some escalations from the RBA (the customer who reported the issue). \u00a0The only reason they purchased CD4PE was for impact analysis and they can't use it. \u00a0Do you have any idea when a workaround/fix might be available?", "created": "2021-08-04T21:58:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hey [~accountid:70121:6ae14dd4-8d8c-46fe-8ef7-e6c4076362bf] - we're hoping to do some investigative work around this in our next sprint (8/11-8/25), which should ideally give us a better sense of what the right fix is and how long that will take. We'll try to keep you posted, but feel free to ping us if things are seeming to languish. ", "created": "2021-08-05T11:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Looking at the Satellite terminus, it definitely looks like a [wrapper|https://github.com/puppetlabs/puppetlabs-satellite_pe_tools/blob/main/lib/puppet/indirector/facts/satellite.rb#L7] for the PDB terminus (notice the call to {{super}} at the end of the one overridden method). \n\nIn particular, our method of [saving facts|https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L130] looks like it will probably just work. Agreed with Molly that [retrieving|https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L213-L218] the facts might need to be updated a little, I'm not sure why we go out of our way to construct that specific terminus there. I know for a while we were trying to avoid using the indirector directly in that code where possible, but I also feel like it would do exactly what we want for this use case, so it might be worth looking into retrieving the same way that we save, leaving the type navigation up to the indirector.", "created": "2021-08-06T10:45:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Sounds like the HDP folks are running into the same issues when trying to use custom termini (currently {{hdp}} terminus, but looking to extend to use {{splunk_hec}} as well), so it would be valuable to investigate supporting those as well. /cc [~accountid:61939d4b2278e7006b4e9a17]", "created": "2021-08-09T13:14:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "If we can make a simple change to enable the satellite terminus I believe we should do that and re-title this ticket around fixing that specific problem.  \n\nThen we open a new ticket for supporting HDP / splunk and maybe generally any terminus but that's an expansion of scope I'm not clear we need to take on if the satellite problem is simple to solve.  ", "created": "2021-08-10T10:11:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Well we agreed to spike on this to start anyway, so yeah, depending on what we identify as the best solution, we'll either create tickets for supporting these separately or create a ticket to support custom termini more generally. Does that seem reasonable [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]?", "created": "2021-08-10T10:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We're thinking it probably makes sense to use the indirector for this endpoint, in which case we'd be able to easily support arbitrary custom termini.", "created": "2021-08-10T11:51:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Is 3 story points for the spike or for implementing the general solution?  I'm for the general solution if we don't think that's a large scope increase.  ", "created": "2021-08-10T12:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The latter, implementing using the indirector as it was meant to be used for this extension point.", "created": "2021-08-10T13:06:00.000000"}], "components": ["API"], "created": "2021-07-07T11:07: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@183e33f4"}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0b8iy:r"}, {"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": "The v4 catalog endpoing (used by Impact Analysis) now supports retrieving facts from any facts terminus, if none are provided with the request."}, {"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": "44982"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_587533613_*|*_1_*:*_1_*:*_537032420_*|*_10007_*:*_1_*:*_10273058_*|*_3_*:*_1_*:*_95795331_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4233542151_*|*_10005_*:*_1_*:*_2403672804"}], "description": "PE 2019.8.7 & CD4PE 4.6.1\n\n*Puppet Version:* 6.23.0\n*Puppet Server Version:* 6.16.0\n*OS Name/Version:* RHEL 7\n\nThis issue has been raised from a customer support ticket where both CD4PE and the satellite PE tools are both in use in conjunction with Puppet Enterprise. \n\nIn the set-up for the satellite tools modules, the fact terminus is set to satellite and this ensures facts will be sent to both satellite and puppetdb.\n\nHowever, when the customer tries to run Impact Analysis from CD4PE, they are met with the following error:\n\n{code:java}\n\"Internal Server Error: org.jruby.exceptions.RuntimeError: (Error) PuppetDB not configured, please provide facts with your catalog request.\"\n{code}\n\nThis looks like the puppet/v4/catalog API is hard-wired such that it can only retrieve facts from the PuppetDB terminus:\nhttps://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L177-L182\n\n*Desired Behavior:* Allow fact retrieval from the puppet/v4/catalog API when terminus is not set to puppetdb\n\n*Actual Behavior:* WHen fact terminus is set to satellite, the puppet/v4/catalog API is hard coded to error out.\n\n--\n*Outcomes*\n* Fix this issue for custom termini more generally by using the indirector. This file should have examples of using the indirector: https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb\n* If it turns out that using the indirector is more complicated than we anticipated, we should stop and re-evaluate potential solutions in order to support the {{satellite}} terminus more quickly.\n* Determine if any docs updates are needed (internal and external).\n\n\n\n", "epicLinkSummary": "V4 Catalog Endpoint Improvements", "estimate": "PT0S", "externalId": "16871", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.1"], "id": "16871", "issueType": "Bug", "key": "SERVER-3050", "labels": ["jira_escalated", "known-issue-added"], "originalEstimate": "PT0S", "parent": "14909", "parentSummary": "V4 Catalog Endpoint Improvements", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1134d60c-31df-407a-b573-e0cfaef8865e", "resolution": "Fixed", "resolutionDate": "2021-10-06T12:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Compile API errors out if a fact terminus other than PuppetDB is used", "timeSpent": "PT0S", "updated": "2021-11-08T14:42:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e] was able to solve the immediate issue of inter-container certificate communication that spawned this ticket, so this would be an improvement / tech debt, but would also support several other larger CA improvements, including a long-standing problem of expiring certificates.\n\nThis won't be prioritized until we get more customer feedback, but there are at least three use cases that this would help with ([~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] will add what those are).", "created": "2021-07-21T15:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Things that this would improve:\n* Users who are reaching the end of their agent's cert lifetimes (5 years by default) need to take manual action to regenerate those certs. For some customers, this comes in large waves and often requires them to open a support ticket to handle the volume without having an outage. If the renewal was automatic, this entire pain point would go away.\n* Users whose CAs are expiring (15 years by default as of Puppet 6) need to either manually regenerate things before expiration or suffer through an outage. If the self-signed CA could renew itself, no action would need to be taken and no outage would occur. (note: ca_extend does not claim to support PE 2021, this might be because of the moved CA dir, and should be fixed)\n* If renewal was automatic, we could significantly shorten the lifetime of agent certificates, and since expired certificates no longer need to be recorded in the CRL, it would allow us to dramatically shrink the size of the CRL by pruning the expired short-lifetime certs. This would alleviate some of the issues we have with large CRLs.", "created": "2021-07-22T10:02:00.000000"}, {"author": "619528076d002b006b1c1e8d", "body": "PE-34955", "created": "2023-02-28T12:21:00.000000"}], "components": [], "created": "2021-07-07T10:13: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@87d16f1"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:m"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_523819786_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_51413854356"}], "description": "Right now, if certificates expire it's a [manual process|https://puppet.com/docs/puppet/7/ssl_regenerate_certificates.html] to regenerate them, or you can use [puppetlabs/ca_extend|https://forge.puppet.com/modules/puppetlabs/ca_extend]. I propose making the functionality of ca_extend part of the product, as this is basic functionality all Puppet admins need.\n\nPuppet Server should monitor certificate expiration. If the CA is about to expire, the CA should extend its own certificate. Servers should pick that up, then use agent checkins to distribute the new certificate to agents (this is secure while the old CA certificate is still valid).\n\nIt's not clear to me how intermediate signing certs should be updated; presumably Puppet Enterprise should warn when they're about to expire but it's up to the admin to generate a new signing certificate. Servers would still need to pick up the updated CA certificate chain.\n\nIf a particular agent certificate is close to expiring, it should request a new version of its certificate during checkin with the server.\n\nThe {{puppetserver ca}} CLI should also have a subcommand that will regenerate a certificate if it's about to expire (and no-op otherwise). \"Ensure\" semantics would be nice: create a certificate if it doesn't exist, regenerate it if expiring, else leave it alone. It should work for both {{--ca-client}} and normal certificates.\n\nThere's a case we could consider around if the CA certificate is changed and certificates become invalid, but that feels out-of-scope (as a lot of the workflows above would likely no longer work).", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "15431", "fixedVersions": [], "id": "15431", "issueType": "New Feature", "key": "SERVER-3049", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Duplicate", "resolutionDate": "2023-02-28T12:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Automatically rotate expiring certificates", "timeSpent": "PT0S", "updated": "2023-02-28T12:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] Is this something you could take a look at? We're not totally sure what the allowed values of {{AUTOSIGN}} are.", "created": "2021-07-06T11:36:00.000000"}, {"author": "557058:263afade-3e4f-46c6-b50a-cf2982192562", "body": "It's in the README source at [https://github.com/puppetlabs/puppetserver/blob/d5889d7322f2a07c110cd340bb75eb09d9e590c2/docker/puppetserver/README.md?plain=1#L33]\u00a0- just need to fix the markdown", "created": "2021-07-20T12:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This should be fixed now [~accountid:557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5], thanks for the report!", "created": "2021-07-21T09:43:00.000000"}], "components": ["Puppet Server"], "created": "2021-07-03T15:55:00.000000", "creator": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@302e4c58"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o09k9v:"}, {"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": "06/Jul/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_62152893_*|*_1_*:*_1_*:*_1456870465_*|*_10007_*:*_1_*:*_13400177_*|*_3_*:*_1_*:*_487626_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.x*\n *Puppet Server Version: 7.2*\n *OS Name/Version: Docker*\n\nThe Docker README for puppet/puppetserver , see at\n\n[https://hub.docker.com/r/puppet/puppetserver]\n\noriginally at\n\n[https://github.com/puppetlabs/puppetserver/tree/6.x/docker/puppetserver]\n\ndescribes the environmentvariables to control the behavior of the puppetserver as a docker image.\n\n\u00a0\n\nThe description for the variable AUTOSIGN is broken (incomplete sentence):\n\nWhether or not to enable autosigning on the puppetserver instance. Valid values match [true\n\n\u00a0\n\n\u00a0\n\nSomething missing after \u201e[true\u201c\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15178", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.3.0"], "id": "15178", "issueType": "Bug", "key": "SERVER-3048", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "resolution": "Fixed", "resolutionDate": "2021-07-21T09:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "broken sentence in puppetserver docker documentation", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:32:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c710a1b"}, {"fieldName": "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-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a942i"}, {"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_*:*_10054759_*|*_10007_*:*_1_*:*_564692_*|*_3_*:*_1_*:*_2167336_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2932777109"}], "description": "(Initial planned release date: 2021-07-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.16.1\"] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "16291", "fixedVersions": ["None"], "id": "16291", "issueType": "Task", "key": "SERVER-3046", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-08-03T15:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.16.1)", "timeSpent": "PT0S", "updated": "2021-08-03T15:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by https://puppet.atlassian.net/browse/RE-14159", "created": "2021-06-30T16:18:00.000000"}], "components": [], "created": "2021-06-30T13:32:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f062c3f"}, {"fieldName": "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-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09gu3:"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9979130_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "16029", "fixedVersions": [], "id": "16029", "issueType": "Task", "key": "SERVER-3045", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Duplicate", "resolutionDate": "2021-06-30T16:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 6.16.1)", "timeSpent": "PT0S", "updated": "2021-06-30T16:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:32:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f2c71b0"}, {"fieldName": "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-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09msf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1029638822_*|*_3_*:*_1_*:*_602909164_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_246414"}], "description": "(Initial planned release date: 2021-07-20)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 6.16.1\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 6.16.1\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-07-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "15864", "fixedVersions": [], "id": "15864", "issueType": "Task", "key": "SERVER-3044", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-19T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.16.1)", "timeSpent": "PT0S", "updated": "2021-07-19T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:31:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d22a481"}, {"fieldName": "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-11148"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09gtn:"}, {"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_*:*_16335819_*|*_1_*:*_1_*:*_9513262_*|*_3_*:*_1_*:*_4921211_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1020753035"}], "description": "(Initial planned release date: 2021-07-20)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 6.16.1 is built and ready for testing.\n", "duedate": "2021-07-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "estimate": "PT0S", "externalId": "15496", "fixedVersions": ["SERVER 6.16.1"], "id": "15496", "issueType": "Task", "key": "SERVER-3043", "labels": ["release"], "originalEstimate": "PT0S", "parent": "20252", "parentSummary": "Puppet Platform 6.24.0 Release - 2021-07-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-12T17:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 6.16.1)", "timeSpent": "PT0S", "updated": "2021-07-12T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:29:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f14907a"}, {"fieldName": "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-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a942r"}, {"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_*:*_10586410_*|*_10007_*:*_1_*:*_555260_*|*_3_*:*_1_*:*_2163205_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2932436210"}], "description": "(Initial planned release date: 2021-07-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Ensure that epics [associated with this release|https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.2.1\"] have been closed and any unresolved tickets are removed from said epics.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-07-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "15495", "fixedVersions": ["None"], "id": "15495", "issueType": "Task", "key": "SERVER-3042", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-08-03T15:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.2.1)", "timeSpent": "PT0S", "updated": "2021-08-03T15:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "covered by https://puppet.atlassian.net/browse/RE-14156", "created": "2021-06-30T16:24:00.000000"}], "components": [], "created": "2021-06-30T13:29:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ea9f57"}, {"fieldName": "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-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09gmr:"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10537378_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-07-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "15177", "fixedVersions": [], "id": "15177", "issueType": "Task", "key": "SERVER-3041", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Duplicate", "resolutionDate": "2021-06-30T16:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 7.2.1)", "timeSpent": "PT0S", "updated": "2021-06-30T16:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:28:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@18d57770"}, {"fieldName": "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-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09msi:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1051781282_*|*_3_*:*_1_*:*_581191337_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-07-20)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.2.1\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"SERVER 7.2.1\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n* NOTE: These docs should not be published to the main site until release day.\n", "duedate": "2021-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "14889", "fixedVersions": [], "id": "14889", "issueType": "Task", "key": "SERVER-3040", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-19T11:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.2.1)", "timeSpent": "PT0S", "updated": "2021-07-19T11:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-30T13:28:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41d2741e"}, {"fieldName": "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-11138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09gmo:"}, {"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_*:*_103095237_*|*_1_*:*_1_*:*_10486269_*|*_10007_*:*_1_*:*_2539030_*|*_3_*:*_1_*:*_1198993_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1277954017"}], "description": "(Initial planned release date: 2021-07-20)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 7.2.1 is built and ready for testing.\n", "duedate": "2021-07-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "estimate": "PT0S", "externalId": "17521", "fixedVersions": ["SERVER 7.2.1"], "id": "17521", "issueType": "Task", "key": "SERVER-3039", "labels": ["release"], "originalEstimate": "PT0S", "parent": "27667", "parentSummary": "Puppet Platform 7.9.0 Release - 2021-07-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-07-16T17:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 7.2.1)", "timeSpent": "PT0S", "updated": "2021-07-16T17:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [], "components": [], "created": "2021-06-29T16:58:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d4d919f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09g5v:"}, {"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_*:*_424805375_*|*_1_*:*_1_*:*_9347_*|*_10007_*:*_1_*:*_74188706_*|*_3_*:*_1_*:*_19694300_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_515246075_*|*_10005_*:*_1_*:*_74149610"}], "description": "Merge the 1.x branch of the puppetserver-ca-cli library into its {{main}} branch.\n* Checkout puppetserver-ca-cli#1.x and pull down the latest updates: {{git pull <puppet remote> 1.x}}\n* Checkout puppetserver-ca-cli#main and pull down the latest updates for it.\n* From the main branch, run {{git merge --log --no-ff 1.x}}. This should bring all the new commits from 1.x into the {{main}} branch\n* Create a PR against the upstream {{main}} branch with these changes.\n\nBump, tag, build, and release the puppetserver-ca gem by running the release pipeline\n* [for the 1.x branch|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver-ca_init-multijob_1.x/]\n* [for the main branch|https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver-ca_init-multijob_main/]\n\nUpdate to the new gem versions in puppetserver and pe-puppet-server-extensions\n* 1.x -> [puppetserver 6.x|https://github.com/puppetlabs/puppetserver/blob/6.x/resources/ext/build-scripts/mri-gem-list-no-dependencies.txt]\n* main (2.x) -> [puppetserver main|https://github.com/puppetlabs/puppetserver/blob/main/resources/ext/build-scripts/mri-gem-list-no-dependencies.txt]\n* 1.x -> [pe-pse 2019.8.x|https://github.com/puppetlabs/pe-puppet-server-extensions/blob/2019.8.x/resources/ext/build-scripts/mri-gem-list-no-deps.txt]\n* main (2.x) -> [pe-pse main|https://github.com/puppetlabs/pe-puppet-server-extensions/blob/main/resources/ext/build-scripts/mri-gem-list-no-deps.txt]\n\nWe usually do all of this as part of any given ticket for puppetserver-ca work, but since we're making multiple updates, we didn't want to have to do this process a bunch of times in a row.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16290", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "16290", "issueType": "Task", "key": "SERVER-3038", "labels": ["froyo_intern"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-07-12T12:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Release puppetserver-ca gem for inclusion in upcoming releases", "timeSpent": "PT0S", "updated": "2021-07-12T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61af86343618cd006f430854", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is a cron job preferable to something that's built into the server (using tk-scheduler)? We don't have any prior art for shipping crontab files, but could probably build something into the server fairly easily. That would come with a config value for how frequently (if at all) to run it. This would mirror what we do for our built-in analytics service.", "created": "2021-06-29T11:37:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is there a timeline that you want this released by?", "created": "2021-06-29T11:37:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] and [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] will discuss this and then talk to the Froyo and IAC teams ([~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] [~accountid:5c2ff2fd81c1261667adfa1d]) about our path forward.", "created": "2021-07-07T11:44:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Maggie spoke to Norman and gave them some places to start, but we haven't heard back. We're just going to leave this until someone raises alarms about it.", "created": "2021-07-21T14:56:00.000000"}, {"author": "5c2ff2fd81c1261667adfa1d", "body": "Hi, sorry for the no update on this ticket.  The IAC team have been tracking the dropsonde work under our own board https://puppet.atlassian.net/browse/IAC-1685. We haven't started this work as we have been closing out on the AC testing of the Gem.\n\nThe team hasn't got to this packaging ticket due to difficulties with creating acceptance tests for the gem, and on review of how to package up modules and gem, we have learned we need to handle the dependencies. We still have some work to do and do not want to put the upcoming puppet server release at risk.\n\nI've linked both these tickets now.", "created": "2021-07-22T00:31:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Closing as there is no work to do currently\n\nTicket can be re-opened when there is actual work to do", "created": "2022-01-12T11:46:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This was actually done already.", "created": "2022-01-12T11:51:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It has not been added to PE. When that is desired, we'll have to do similar work to what we did in FOSS for PE packaging.", "created": "2022-01-12T12:47:00.000000"}], "components": ["Puppet Server"], "created": "2021-06-24T13:01:00.000000", "creator": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d2250a5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09dar:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_426918804_*|*_6_*:*_2_*:*_245229_*|*_10005_*:*_1_*:*_17024986798"}], "description": "The [Dropsonde telemetry gem|https://rubygems.org/gems/dropsonde] should be installed with the puppetserver & pe_puppetserver packages.\n\nIt should also have a cron job running like this. The comment should match exactly and the time scheduling fields should be generated randomly.\n\n{code}\n# Puppet Name: submit Puppet telemetry report\n27 17 * * 2 /opt/puppetlabs/puppet/bin/dropsonde submit\n{code}\n\nHow should I provide release notes and instructions for disabling it?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15863", "fixedVersions": [], "id": "15863", "issueType": "Task", "key": "SERVER-3037", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "resolution": "Done", "resolutionDate": "2022-01-12T11:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Dropsonde needs to be packaged with (pe_)puppetserver", "timeSpent": "PT0S", "updated": "2022-01-12T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Had a community member hit this today https://groups.google.com/g/puppet-users/c/z_ptA5c-4es/m/SDOuGEdhAQAJ?utm_medium=email&utm_source=footer", "created": "2021-07-08T15:37:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] will add steps to reproduce this error.", "created": "2021-08-03T11:57:00.000000"}], "components": [], "created": "2021-06-23T18:29: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@47620f72"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:di"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.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": "44816"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Aug/21"}], "description": "If {{puppetserver ca generate --ca-client}} is called when the CA has not been properly set up, the command will throw an exception:\n{code}\n=> puppetserver ca generate --ca-client --certname test\nTraceback (most recent call last):\n\t6: from ./exe/puppetserver-ca:10:in `<main>'\n\t5: from /Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/cli.rb:94:in `run'\n\t4: from /Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/action/generate.rb:144:in `run'\n\t3: from /Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/action/generate.rb:191:in `generate_authorized_certs'\n\t2: from /Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/action/generate.rb:191:in `map'\n\t1: from /Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/action/generate.rb:202:in `block in generate_authorized_certs'\n/Users/aileen/code/server/puppetserver-ca-cli/lib/puppetserver/ca/local_certificate_authority.rb:158:in `sign_authorized_cert': undefined method `subject' for nil:NilClass (NoMethodError)\n{code}\n\nThis happens because if any CA files are missing when the command is run, the LocalCertificateAuthority will [not attempt to load|https://github.com/puppetlabs/puppetserver-ca-cli/blob/2fea044fd1a7510508e02077d2f9fe4328fb87b5/lib/puppetserver/ca/local_certificate_authority.rb#L48] its artifacts, which means when we go to sign the generated cert, we don't have our CA signing cert.\n\nI think this happened during a refactor, that we started silently failing to load CA artifacts, but the usecase where the {{import}} command needs to generate its own CRL takes advantage of it (see [this commit|https://github.com/puppetlabs/puppetserver-ca-cli/commit/f1da16140ec886b9b6acf5a7d020e2107e5360cc]). In this case, we want to be able to create the local authority without attempting to load the artifacts.\n\nWe should fix this to error better when files are missing, without compromising the CRL generation for {{import}}.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "17208", "fixedVersions": [], "id": "17208", "issueType": "Bug", "key": "SERVER-3036", "labels": ["jira_escalated", "low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA CLI `generate` action will throw with stacktrace if CA files are missing", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This update caused an issue with SNI on FIPS, which appears to be resolved by updating FIPS Bouncy Castle, see PE-32070.", "created": "2021-06-28T12:08:00.000000"}], "components": [], "created": "2021-06-23T16:33: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@1542e104"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09bib:"}, {"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": "Update jetty to 9.4.42, which resolves CVE-2021-28169."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_440808951_*|*_1_*:*_1_*:*_334899_*|*_10007_*:*_1_*:*_148423043_*|*_5_*:*_1_*:*_0"}], "description": "Jetty has disclosed CVE-2021-28169 (See SEC-620). Which effects us (currently using 9.4.40). We do not believe any of our products are affected, however we should take this opportunity to update to the latest patch release of the 9.4.x series anyways.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15176", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "15176", "issueType": "Task", "key": "SERVER-3035", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2021-06-30T12:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update Jetty to 9.4.42", "timeSpent": "PT0S", "updated": "2021-07-12T11:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Something you could try is to run {{puppet generate types --force}}. If that doesn't help, let us know and we can dig in further.", "created": "2021-07-06T12:25:00.000000"}, {"author": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "body": "\u00a0\n\n{{[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0doing this on the puppet server and we see...}}\n\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_command.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_contact.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_contactgroup.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_host.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_hostdependency.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_hostescalation.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_hostextinfo.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_hostgroup.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_service.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_servicedependency.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_serviceescalation.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_serviceextinfo.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_servicegroup.pp' using 'pcore' format.}}\n{{Notice: Generating '/etc/puppetlabs/code/environments/production/.resource_types/nagios_timeperiod.pp' using 'pcore' format.}}\n\n\u00a0\n\n{{The error message persists:}}\n\n{{Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not autoload puppet/type/nagios_contactgroup: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/nagios_contactgroup'. Set at unknown location on node nag01}}", "created": "2021-07-06T13:02:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for doing that, we'll take a look.", "created": "2021-07-06T18:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "A few questions:\n1) Is it always the same node that fails? If so, is there anything unique about that node's catalog?\n\n2) Does the problem persist even after restarting the server?", "created": "2021-07-07T10:50:00.000000"}, {"author": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "body": "This node always fails, we have a VM that runs basically the same manifest that does not see this issue.\n\n This node is physical, which would introduce some minor difference. Looking at the facts I see `nagios_pci_megaraid_sas => true`.\n\nThe problem does persist, we have tried rebuilding the server and the result is the same.", "created": "2021-07-07T11:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Did it ever work for this node? Or, for example, did it break on an upgrade of Puppet, or any other change to installed modules or manifests?\n\nOne thing to check is if there are maybe multiple versions of the module installed. It looks like this stack is coming from the environment dir, is there any chance the module is also in {{/opt/puppetlabs/puppet/cache/lib}}? Though if this were true and causing issues, I would expect every node to be failing this way...", "created": "2021-07-07T14:34:00.000000"}, {"author": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "body": "It has never worked for this host, we are attempting to get his host commissioned. However other hosts continue to use this resource type without issues.\n\nThe manifest and modules are stable, we apply a role to our nagios hosts, the same role applies to working and this non-working host.\n\nThe only difference is the non working host is a physical server, but I'm struggling to understand why this could cause this.\n\nI removed /opt/puppetlabs/puppet/cache/lib on the client and server. The issue persists.", "created": "2021-07-08T12:43:00.000000"}, {"author": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0any thoughts on next steps?", "created": "2021-08-19T12:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9f06ffd3-1605-405d-940b-a1053fa2b93d] can you include your puppet manifest(s) relating to nagios resource types?", "created": "2021-10-26T09:36:00.000000"}], "components": ["Puppet Server"], "created": "2021-06-22T17:25:00.000000", "creator": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64f25b5a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o09b0b:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/21"}], "description": "*Puppet Version:*\u00a0puppet-agent-6.22.1-1.el7.x86_64\n *Puppet Server Version:*\u00a0puppetserver-6.15.3-1.el7.noarch\n *OS Name/Version:*\u00a0CentOS Linux release 7.9.2009 (Core)\n\nNew build of a nagios server fails with:\n\n{noformat}\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not autoload puppet/type/nagios_contactgroup: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/nagios_contactgroup'. Set at unknown location on node nag01\n{noformat}\n\n*Desired Behavior:*\n\nCatalog compiles and applies.\n\n*Actual Behavior:*\n{noformat}2021-06-22T15:42:51.763-07:00 ERROR [qtp317762346-3529] [puppetserver] Puppet Could not autoload puppet/type/nagios_contactgroup: Attempt to redefine entity 'http://puppet.com/2016.1/runtime\n/type/nagios_contactgroup'. Set at unknown location on node nag01\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:125:in `fail_redefine'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/base_loader.rb:74:in `set_entry'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loaders.rb:151:in `register_runtime3_type'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:132:in `newtype'\n/etc/puppetlabs/code/environments/production/modules/nagios_core/lib/puppet/util/nagios_maker.rb:16:in `create_nagios_type'\n/etc/puppetlabs/code/environments/production/modules/nagios_core/lib/puppet/type/nagios_contactgroup.rb:3:in `<main>'\norg/jruby/RubyKernel.java:1009:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:66:in `load_file'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:201:in `load'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:172:in `type'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:382:in `resource_type'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:370:in `resource_type'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:311:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:386:in `resource'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler/catalog_validator/relationship_validator.rb:37:in `block in validate_relationship'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler/catalog_validator/relationship_validator.rb:33:in `validate_relationship'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler/catalog_validator/relationship_validator.rb:11:in `block in validate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:45:in `block in eachparam'\norg/jruby/RubyHash.java:1415:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:44:in `eachparam'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler/catalog_validator/relationship_validator.rb:9:in `block in validate'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler/catalog_validator/relationship_validator.rb:6:in `validate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:204:in `block in validate_catalog'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:204:in `validate_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:192:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:191:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:274:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:155:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:34:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:307:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:305:in `block in compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:233:in `block in benchmark'\nuri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/benchmark.rb:308:in `realtime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:232:in `benchmark'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:303:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:56:in `block in find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/node/environment.rb:427:in `with_text_domain'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:55:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:138:in `do_find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:54:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:274:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:53:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'\norg/jruby/RubyArray.java:1809:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:87:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:70:in `block in with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:66:in `with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:93:in `respond_to_errors'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `process'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:65:in `block in handleRequest'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:274:in `override'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:64:in `handleRequest'\n{noformat}\nWe have existing nagios vms\u00a0 getting catalogs from the same puppetserver which use nagios_contactgroup without issues. The server has the nagios_core module in place.", "environment": "Server and client are Centos 7 (x86_64), running on Dell hardware.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14888", "fixedVersions": [], "id": "14888", "issueType": "Bug", "key": "SERVER-3034", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9f06ffd3-1605-405d-940b-a1053fa2b93d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Error 500 on SERVER: Server Error: Could not autoload puppet/type/nagios_contactgroup: Attempt to redefine entity 'http://puppet.com/2016.1/runtime/type/nagios_contactgroup'. Set at unknown location on node", "timeSpent": "PT0S", "updated": "2021-10-26T10:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:5fc46fd09592df0076141ac0] Not sure if we add known issues after they've been fixed, but I guess I don't know exactly when this will get released, so might be good to add. Something like:\n\nPuppet Server 7.2.0 includes a new API endpoint {{PUT /puppet-ca/v1/certificate_revocation_list}}. In order to access this endpoint, you must edit the config file at {{/etc/puppetlabs/puppetserver/conf.d/auth.conf}} and update the rule for this endpoint to be type {{regex}} instead of {{path}}.\n", "created": "2021-06-16T13:04:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0noted, will do!", "created": "2021-06-16T13:08:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "^that will also affect 6.16.0, which is tagged but not shipped yet.", "created": "2021-06-19T23:04:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "remove from known issues on day of release ---> move to bug fixes for 6.16.1 and 7.2.1", "created": "2021-07-12T11:56:00.000000"}], "components": [], "created": "2021-06-16T12:46:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7b4a9819"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o097pn:"}, {"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 PUT /puppet-ca/v1/certificate_revocation_list endpoint is now enabled by default. Previously, users would need to manually update auth.conf to access this endpoint."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_504356672_*|*_1_*:*_1_*:*_6370_*|*_10007_*:*_1_*:*_364168_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_75900"}], "description": "There was a bug in our auth rule for the CA endpoint to update CRLs.\n\nMostly just writing this ticket so we have a place for release notes.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15494", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "15494", "issueType": "Bug", "key": "SERVER-3033", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-06-22T08:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ensure CRL update endpoint is accessible", "timeSpent": "PT0S", "updated": "2021-07-12T13:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We intentionally always include the certname as a SAN, but we will update our SAN check to always allow the certname as a SAN, regardless of the {{allow-subject-alt-names}} setting. Thanks for the report [~accountid:623c0f04562ab90069f8b137]!", "created": "2021-06-22T11:36:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We set the SAN to the certname in order to comply with the spec. See https://puppet.atlassian.net/browse/SERVER-2338.", "created": "2021-06-29T13:12:00.000000"}], "components": ["Certificate Authority"], "created": "2021-06-16T06:02:00.000000", "creator": "623c0f04562ab90069f8b137", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c84019d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o096sz:"}, {"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": "`puppetserver ca generate` will no longer always error when `allow-subject-alt-names` is false."}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_98387950_*|*_1_*:*_1_*:*_538409454_*|*_10007_*:*_1_*:*_70621958_*|*_3_*:*_1_*:*_5626280_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_93326820_*|*_10005_*:*_1_*:*_610443685"}], "description": "*Puppet Version:* 7.7.0\n*Puppet Server Version:* 7.2.0\n*OS Name/Version:* CentOS 7.9\n\nWhen using the {{puppetserver ca generate --certname <CERTNAME>}} command to generate a certificate, the new certificate has always the SAN attribute set to the {{DNS:<CERTNAME>}}.\n{{--subject-alt-names}} was not used on the CLI:\n\n{noformat}\n# puppetserver ca generate --certname this-is-a-test.desy.de\nSuccessfully saved private key for this-is-a-test.desy.de to /etc/puppetlabs/puppet/ssl/private_keys/this-is-a-test.desy.de.pem\nSuccessfully saved public key for this-is-a-test.desy.de to /etc/puppetlabs/puppet/ssl/public_keys/this-is-a-test.desy.de.pem\nError:\n    When attempting to submit certificate request for 'this-is-a-test.desy.de', received:\n      code: 400\n      body: CSR 'this-is-a-test.desy.de' contains subject alternative names (DNS:this-is-a-test.desy.de), which are disallowed. To allow subject alternative names, set allow-subject-alt-names to true in your puppetserver.conf file, restart the puppetserver, and try signing this certificate again.\n{noformat}\n\nWe use the {{puppetserver ca generate}} feature to create some special certificates, which are not directly used or generated by a Puppet agent.\n\n*Desired Behavior:*\n{{puppetserver ca generate --certname <CERTNAME>}} should not set the SAN attribute without {{--subject-alt-names}}\n\n*Actual Behavior:*\n{{puppetserver ca generate --certname <CERTNAME>}} sets the SAN attribute by default to {{DNS:<CERTNAME>}} in the certificate.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15493", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "15493", "issueType": "Bug", "key": "SERVER-3032", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0f04562ab90069f8b137", "resolution": "Fixed", "resolutionDate": "2021-07-02T15:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca generate always sets subject alternative name", "timeSpent": "PT0S", "updated": "2021-07-12T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-11T15:35:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e4c8fc8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o094xv:"}, {"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_*:*_9481_*|*_3_*:*_1_*:*_160378589_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_342382953"}], "description": "Planning to demo on Thurs 6/17.\n\nFOSS install, hit the endpoint, ???, profit", "duedate": "2021-06-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15862", "fixedVersions": ["None"], "id": "15862", "issueType": "Task", "key": "SERVER-3031", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-06-17T11:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prep demo of CRL update endpoint", "timeSpent": "PT0S", "updated": "2021-06-17T17:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Using same Server version as Platform 7.7.0 (Server 7.2.0), as nothing new has landed. Closing Server tickets. ", "created": "2021-06-10T14:42:00.000000"}], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@581239d0"}, {"fieldName": "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-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o093jn:"}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1727952_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-06-22)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-06-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "15861", "fixedVersions": [], "id": "15861", "issueType": "Task", "key": "SERVER-3030", "labels": [], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-06-10T14:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-06-10T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Using same Server version as Platform 7.7.0 (Server 7.2.0), as nothing new has landed. Closing Server tickets. ", "created": "2021-06-10T14:42:00.000000"}], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2bd65f23"}, {"fieldName": "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-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o093jf:"}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1731093_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-06-22)\n\nIf this release is part of a larger Puppet Platform release, you can close this ticket.\n\nOtherwise, ship puppetserver artifacts using the [puppetserver shipping pipeline|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_ship-puppetserver_stage-foss-artifacts_standalone/].\n", "duedate": "2021-06-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "15492", "fixedVersions": [], "id": "15492", "issueType": "Task", "key": "SERVER-3029", "labels": [], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-06-10T14:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ship artifacts (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-06-10T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We've already released this version, so nothing to update.", "created": "2021-06-10T17:14:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0- if interested, release notes for Puppet Platform 7.8.0 can be reviewed here (Server is the last section):\u00a0\n\n[https://docs.google.com/document/d/1GEZO0gSGLGSe5T6V5WT6lcKSwDrozmGebIGCB8NT08A/edit?usp=sharing]\n\n\u00a0", "created": "2021-06-21T09:46:00.000000"}], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@98aaf49"}, {"fieldName": "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-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o093j7:"}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10814811_*|*_10009_*:*_1_*:*_1589691814_*|*_5_*:*_1_*:*_923216950_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-06-22)\n\nWrite release notes for the release based on the tickets found in the previous step:\n\n* Search for tickets with {{fixVersion = \"SERVER 7.2.0\"}}: [https://puppet.atlassian.net/secure/IssueNavigator.jspa?jql=fixVersion=\"7.2.0\"]\n* Check each ticket's DOCS tab for the necessary release notes.\n* Open a PR in the [osp-docs|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md] repo. Target the PR against the {{*-preview}} branch corresponding to the major Platform version (or {{latest-preview}}).\n", "duedate": "2021-06-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "15175", "fixedVersions": [], "id": "15175", "issueType": "Task", "key": "SERVER-3028", "labels": [], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-07-09T19:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-07-09T19:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "6323aedbed8abffd7ffdf0ce", "body": "Using same Server version as Platform 7.7.0 (Server 7.2.0), as nothing new has landed. Closing Server tickets. ", "created": "2021-06-10T14:42:00.000000"}], "components": [], "created": "2021-06-10T14:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a9ba1fa"}, {"fieldName": "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-11107"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o093iz:"}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1736767_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-06-22)\n\nPrepare release artifacts.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 6.x -> main, if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Once a release candidate has been determined, ensure it has promoted to the appropriate PE stream(s).\n\n* If this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n  ** This can be done prior to tagging, since promotion via the release pipeline is enable separately.\n  ** Example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n\n* Tag and build packages.\n  ** If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n  ** Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n  ** Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n  ** If you haven't already, notify the puppet-agent release lead that puppetserver 7.2.0 is built and ready for testing.\n", "duedate": "2021-06-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "estimate": "PT0S", "externalId": "14887", "fixedVersions": [], "id": "14887", "issueType": "Task", "key": "SERVER-3027", "labels": [], "originalEstimate": "PT0S", "parent": "28813", "parentSummary": "Puppet Platform 7.8.0 Release - 2021-06-24", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-06-10T14:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare artifacts for release (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-06-10T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-06-04T16:25:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b26f7ee"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:5"}], "description": "The [job|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] to tag & deploy puppetserver can only be used to tag and deploy from the HEAD of a branch.\n\nThe {{RELEASE_FROM_SHA}} parameter implies (to me at least) that we should be able to release from whatever SHA we want, but setting this to an older SHA results in the following error:\n{code:java}\n+ echo 'Check out RELEASE_FROM_SHA if specified'\nCheck out RELEASE_FROM_SHA if specified\n+ '[' -n 147d0a366404a314f84b3f9f68389e6d606a019e ']'\n+ git fetch origin\n+ git checkout 147d0a366404a314f84b3f9f68389e6d606a019e\nPrevious HEAD position was 5334fa41... (maint) update submodule versions and agent pin\nHEAD is now at 147d0a36... (maint) update submodule versions and agent pin\nM\truby/facter\nM\truby/puppet\n+ echo\n\n+ echo 'Fail if there are any changes to the local repo.'\nFail if there are any changes to the local repo.\n+ /usr/local/bin/lein-2.9.1 vcs assert-committed\nUncommitted changes in /home/jenkins/agent/workspace/platform_puppetserver_release-clj_6.x_release directory.\nBuild step 'Execute shell' marked build as failure\n{code}\n(from https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_release-clj_6.x_release/8/)\n\nNot sure if there was a historical reason for this error, but assuming there isn't currently a good reason, we should update the [job|https://github.com/puppetlabs/ci-job-configs/blob/master/resources/scripts/release-clj.sh] to allow passing an arbitrary SHA. This may be useful if changes have landed between feature complete and when we actually tag.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15173", "fixedVersions": [], "id": "15173", "issueType": "Improvement", "key": "SERVER-3022", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable puppetserver tag & deploy job to use any SHA", "timeSpent": "PT0S", "updated": "2022-03-09T08:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-06-02T09:45: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@12908eee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694420i"}, {"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_*:*_2_*:*_70143582_*|*_1_*:*_1_*:*_52068_*|*_10007_*:*_1_*:*_16124089_*|*_3_*:*_1_*:*_1023487233_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_197317265"}], "description": "We need to add the {{lein-nvd}} security scanner to our CI for both FOSS and PE, as specified in https://puppet.atlassian.net/browse/SEC-478.\n\nOther teams have added it to PR testing, either in Jenkins Pipelines or in Travis. See https://github.com/puppetlabs/puppetdb/commit/5a6a792a64f565c119c828b628e63c434dfc8b2d.\n\nWe might possibly have some deps that aren't fully up to date yet. Other teams have added exceptions for those to allow CI to pass while the updates work their way through.\n\n*Outcomes:*\n* Add lein-nvd to puppetserver PR testing\n* Add lein-nvd to pe-pse PR testing\n* Add lein-nvd to pe-pse Jenkins pipeline\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17207", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.1"], "id": "17207", "issueType": "Task", "key": "SERVER-3021", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-06-17T12:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add lein-nvd security scanner to Server CI", "timeSpent": "PT0S", "updated": "2021-07-12T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:5e3375e183d74c0e821851f3] This should be released in the PE 2019.8.9 and 2021.4 releases (planned for November).", "created": "2021-08-11T12:32:00.000000"}], "components": ["Puppet Server"], "created": "2021-06-01T15:26: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@4e3c9b12"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0a1eo:"}, {"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": "Querying for CSRs will be much faster since we're only looking into the request directory instead of both certificate directory and request directory."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.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": "44592"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_75320553_*|*_1_*:*_1_*:*_248756272_*|*_10007_*:*_1_*:*_16062883_*|*_3_*:*_1_*:*_505413627_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5277275708_*|*_10005_*:*_1_*:*_1041669"}], "description": "The current method for querying CSRs from puppetserver is to use {{/puppet-ca/v1/certificate_statuses/ignored?state=requested}}. Unfortunately, this walks all of the signed certificates instead of just the CSRs, resulting in long query times. We have seen query times of over 2 minutes on this endpoint and they are called often when using the console. This causes long page load times as well as timeouts.\n\nOne possible solution that was discussed is to only walk the CSR dir when {{state=requested}} https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1562-L1563\n\n*Outcomes*\n* Querying CSRs in a specific state should be faster (don't gather data we don't need).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16869", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.3.0"], "id": "16869", "issueType": "Task", "key": "SERVER-3020", "labels": ["docs-reviewed", "froyo_intern", "jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2021-08-11T12:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "certificate_statuses endpoint is slow when only querying CSRs", "timeSpent": "PT0S", "updated": "2021-08-11T12:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2021-05-27T15:01:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73023ce7"}, {"fieldName": "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-14"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Use System cert store"}, {"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": "dark_orange"}, {"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|hylkkc:0014"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_11847626789_*|*_6_*:*_1_*:*_0_*|*_10015_*:*_1_*:*_18832085074_*|*_10014_*:*_1_*:*_3794384861"}], "description": "Server extensions like termini and report processors cannot connect to third-party HTTPS servers when using puppetserver's http client. It is possible to use raw {{Net::HTTP}}, but that does not work when puppetserver is running on a FIPS-enabled host nor does it work for HTTPS servers chained to the Let's Encrypt expired CA (or any other cert verification behavior present in openssl 1.1.x)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16633", "fixedVersions": ["SERVER 7.8.0"], "id": "16633", "issueType": "Epic", "key": "SERVER-3019", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2022-06-30T15:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Use System cert store", "timeSpent": "PT0S", "updated": "2022-08-12T10:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5fc46fd09592df0076141ac0", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Filled in the other half of the pre-docs, for both FOSS and PE intermediate CA pages.", "created": "2021-05-26T15:55:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "PE - 2019.8.7 + 2021.2.0", "created": "2021-05-26T16:57:00.000000"}], "components": [], "created": "2021-05-25T11:36: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@73936b8e"}, {"fieldName": "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": "SERVER-2712"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:40900006944209"}, {"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/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_790476_*|*_3_*:*_1_*:*_707276109_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_1119139"}], "description": "*Summary:*\nIn SERVER-2550 we added an API for updating CRLs from an external CA. Users of the {{puppetserver ca import}} command sometimes supply CRLs from their corporate CAs that expire frequently. Once they do, the artifacts they imported become unusable and need updating.\n\n*Pre-docs:* https://docs.google.com/document/d/17bQrCIs80MCZAsKU924t3R0wrrQAwcItLGQW7Sq2MWU/edit?usp=sharing\n\n*Updates needed:*\nWe need to update https://github.com/puppetlabs/osp-docs/blob/latest-preview/server/http_certificate_revocation_list.md to document the new API endpoint, and https://github.com/puppetlabs/osp-docs/blob/latest-preview/server/intermediate_ca.md#set-up-puppet-as-an-intermediate-ca-with-an-external-root to talk about how to use this endpoint in the context of setting up Puppet as an intermediate CA.", "epicLinkSummary": "Improve CRL Management", "estimate": "PT0S", "externalId": "17519", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "17519", "issueType": "Task", "key": "SERVER-3018", "labels": [], "originalEstimate": "PT0S", "parent": "16586", "parentSummary": "Improve CRL Management", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-06-02T16:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Docs: Update expired external CRLs with the CRL update endpoint", "timeSpent": "PT0S", "updated": "2021-06-10T12:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:29:00.000000", "name": "agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10717"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:21:00.000000", "name": "ca.cnf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10784"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:31:00.000000", "name": "client-1.crt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11316"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:31:00.000000", "name": "client-1.key", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11249"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:31:00.000000", "name": "server-1.crt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11168"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:31:00.000000", "name": "server-1.key", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11092"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T05:29:00.000000", "name": "server.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10633"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We only recently started ensuring that all certs have SANs that match their common names, and haven't yet moved to allowing common names to be empty. You're correct that we should get there to be spec compliant, but this likely low priority for us. /cc [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] for priority input.", "created": "2021-05-26T11:11:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T12:20:00.000000"}], "components": [], "created": "2021-05-25T05:31:00.000000", "creator": "623c08e7a1d81f0069d8dd26", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d7030c9"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o08p2z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_106674956_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24718272281"}], "description": "*Puppet Version:* 7.6.1\n*Puppet Server Version:* 7.1.2\n*OS Name/Version:* Debian Unstable\n\n[Disable the internal CA|https://puppet.com/docs/puppet/7/config_ssl_external_ca.html#config_puppet_server]\n\nGenerate certificates and keys (also attached):\n# {{openssl req -x509 -utf8 -subj \"/CN=Server\" -addext \"subjectAltName=critical,DNS:server.example.com\" -days 3650 -nodes -newkey rsa:2048 -keyout server.key -out server.crt}}\n# {{openssl req -utf8 -subj \"/\" -addext \"subjectAltName=critical,DNS:client.example.com\"  -nodes -newkey rsa:2048 -keyout client.key -out client.csr}}\n# {{mkdir newcerts && touch index; openssl ca -config ca.cnf -notext -create_serial -in client.csr -out client.crt}}\n\nConfigure the webserver:\n{code}\nwebserver: {\n\tclient-auth: want\n\n\tssl-ca-cert: server.crt\n\tssl-cert: server.crt\n\tssl-key: server.key\n\n\tssl-host: \"[::]\"\n\tssl-port: 8140\n\tssl-protocols: [TLSv1.2, TLSv1.3]\n}\n{code}\n\nConfigure the agent:\n{code}\n[main]\nserver = server.example.com\nenvironment = example\n\nlocalcacert = server.crt\nhostcert = client.crt\nhostprivkey = client.key\ncertificate_revocation = false\n{code}\n\n# Start the server\n# Run {{puppet agent -t}}\n# Internal server error\n\n*Desired Behavior:*\nAble to authenticate with an empty subject/CN, which is valid per the RFCs.\n\nNotably for my external CA issuing certificates with a CN doesn't make sense. Machines are uniquely identified by the Subject Alternative Name (SAN) and putting that information in the [now superseded CN|https://datatracker.ietf.org/doc/html/rfc6125#section-6.4.4] would be redundant.\n\n*Actual Behavior:*\nInternal server error. See [^agent.log] and [^server.log].", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "16632", "fixedVersions": [], "id": "16632", "issueType": "Bug", "key": "SERVER-3017", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c08e7a1d81f0069d8dd26", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Authorization internal server error with empty client CN", "timeSpent": "PT0S", "updated": "2022-03-08T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-06-01T05:08:00.000000", "name": "ec_server.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10858"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T04:17:00.000000", "name": "example.crt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10925"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T04:17:00.000000", "name": "example.key", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10857"}, {"attacher": "623c08e7a1d81f0069d8dd26", "created": "2021-05-25T04:11:00.000000", "name": "log.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11013"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey Raul, thanks for opening the ticket!\n\nWe use BouncyCastle's PEMParser to read parse keys and it looks like it will support most EC keys out of the box, however it doesn't seem to like the additional EC PARAMETERS above the key proper. I believe it is parsing the first set of \"------BEGIN *------\" and \"------END *------\" pairs it finds and returning that instead of the key. To fix this issue we'd need to first do some of our own parsing of the key file and strip out. I will update this ticket to match that feature request.\u00a0\n\nIn the meantime you should be able to get it to work by removing the parameter, moving it\u00a0 from the top of the key file, or altering it to no longer match the \"-----BEGIN (.*)-----\" format.\n\nYou can also convert this from the openssl format to the standard pkcs#8 format with {{openssl pkcs8 -in example.key -topk8 -out example.pk8}}.\n\nOr, if you are generating this key from openssl's cli you can pass the {{-noout}} option to keep it from printing the param into the key file.\n\n\u00a0\n\nnb: I validated these options from the repl, and all of them allowed the server to start up successfully, however I didn't spin up a full repro so there may be some agent <-> server communication that is still affected by different EC issues, if so, please let us know, but I believe it will be a different issue/ticket and all of them will go into a PKI related group of work.", "created": "2021-05-26T14:42:00.000000"}, {"author": "623c08e7a1d81f0069d8dd26", "body": "Thanks for the workaround, it works.\nDoing it that way the agent is unable to parse the key due to a regex which checks for \"BEGIN EC PRIVATE KEY\" generated by {{openssl genkey}} while {{openssl req}} generates \"BEGIN PRIVATE KEY\" instead. This is probably blocked by having a newer ruby-openssl, which offers a more generic interface for parsing unknown types of keys.\nIf I change the format to \"BEGIN EC PRIVATE KEY\" then the server is unable to understand the key. A bit of a catch-22 because my Puppet server is also an agent, but I think I'll bear with two differently formatted keys for this one machine for the time being.", "created": "2021-06-01T03:56:00.000000"}, {"author": "623c08e7a1d81f0069d8dd26", "body": "Right a normal EC \"BEGIN PRIVATE KEY\" doesn't work for the server either, see [^ec_server.log].\nPKCS#8 seems to however work. I did need to add {{-nocrypt}} to get an unencrypted key that Puppet Server could read.\n\nIn short, one can use traditional EC keys with Puppet. However not yet ED25519 as ruby-openssl lacks support.", "created": "2021-06-01T05:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Am I reading it right that PCKS#8 is the format required for both server and agent to understand? It sounds like this might be more user friendly if we put that in our documentation somewhere.", "created": "2021-06-02T09:21:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Some background for the agent. The {{OpenSSL::PKey.read}} method doesn't work in older ruby versions, so the agent checks for the EC header and uses that to determine what kind of key to load: see https://github.com/puppetlabs/puppet/blob/1a13e0cf96c70b303492e684f9ccf4c38207b3dd/lib/puppet/x509/cert_provider.rb#L18 and https://github.com/puppetlabs/puppet/blob/1a13e0cf96c70b303492e684f9ccf4c38207b3dd/lib/puppet/x509/cert_provider.rb#L218-L222. However, since that time, we dropped ruby 2.3 and 2.4 support in puppet 7.x. So you may be able to drop the regex and switch to {{OpenSSL::PKey.read}}?", "created": "2021-06-02T09:46:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It looks like {{OpenSSL::PKey.read}} works for both OpenSSL's format and PCKS#8 in Ruby MRI 2.7, but is broken in _new_ ways in JRuby 9.2.17.0 (it reads the file but returns a garbage key).\n\nI don't believe we use that code in JRuby during Server's operations, but I need to verify that next.", "created": "2021-06-02T10:40:00.000000"}, {"author": "623c08e7a1d81f0069d8dd26", "body": "{panel:title=Justin Stoller}\nAm I reading it right that PCKS#8 is the format required for both server and agent to understand?\n{panel}\nNot quite. I'll summarize.\n\nClient:\n* ED25519 doesn't work because of [ruby-openssl#443|https://github.com/ruby/openssl/issues/443].\n* EC works, but the key must begin with \"BEGIN EC PRIVATE KEY\". Thus PKCS#8 and the other header variation generated by {{openssl req -newkey}} don't work.\n\nServer:\n* ED25519 works\n* EC works, but for OpenSSL format:\n** Must not include EC parameters section.\n** Header must be \"BEGIN PRIVATE KEY\" not \"BEGIN EC PRIVATE KEY\".\n** _Or_ use unencrypted PKCS#8.\n\nSo it's best to have private keys in the OpenSSL format with the \"BEGIN EC PRIVATE KEY\" header variation.\n\nUsing {{OpenSSL::PKey.read}} simplifies this by being able to use the OpenSSL private key format in either variation for the client. Client will also transparently gain support for ED25519 once it's implemented in ruby-openssl.\nI gave this a try locally and it works for the client and doesn't seem to have affected the server.", "created": "2021-06-03T01:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thank you for the clarification. I've also opened PUP-11082 for the agent side changes. We think we will get to this work in our next iteration, 2-4 weeks from now.", "created": "2021-06-03T10:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not really finding docs that outline what private key formats we support... and with these changes (this and PUP-11082), I'm not sure if there are meaningful restrictions anymore. Does anyone know of any such docs?", "created": "2021-06-24T10:40:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm not aware of any docs or any restrictions for puppet agent or server specifically. There are some hard coded assumptions in the puppet ecosystem like [https://github.com/binford2k/binford2k-node_encrypt/blob/a8ba89e4bd330a9237e4c7201aa3d3a876b493d5/lib/puppet_x/binford2k/node_encrypt.rb#L62|https://github.com/binford2k/binford2k-node_encrypt/blob/a8ba89e4bd330a9237e4c7201aa3d3a876b493d5/lib/puppet_x/binford2k/node_encrypt.rb#L62.]\u00a0but those can be fixed as folks start to EC keys.", "created": "2021-06-24T11:37:00.000000"}], "components": [], "created": "2021-05-25T04:17:00.000000", "creator": "623c08e7a1d81f0069d8dd26", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fbb099"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:4090000694a43y"}, {"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": "Puppet Server can now successfully load private key PEM files that include a separate blocks for EC parameters, like the ones output by OpenSSL's EC key gen commands."}, {"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/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_504076987_*|*_1_*:*_1_*:*_111400095_*|*_10007_*:*_1_*:*_22020522_*|*_3_*:*_1_*:*_76166224_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1644636916_*|*_10005_*:*_1_*:*_781021507"}], "description": "OpenSSL uses a legacy format that should be compatible with PKCS however the Bouncy Castle PEMParser class's implementation won't support it.\n\nSpecifically the PKCS format should skip all content outside of approved \"{{----BEGIN <APPROVED TYPES>----}}\". However, PEMParser will read any value for \"{{APPROVED TYPES\"}} and return the first encoded object in a file. This is problematic because OpenSSL puts the ec param at the top of the file in its own BEGIN block. It is this value that is returned when parsing a key file in OpenSSL's format with the PEMParser.\n\nSince OpenSSL is the de facto standard for working with PKI from the command line we should filter BEGIN lines that do not include the word \"KEY\" (or more specifically \"PRIVATE KEY\" or \"RSA PRIVATE KEY\") from the content prior to giving it to the PEMParser.\n\n\u00a0These updates should be made in https://github.com/puppetlabs/jvm-ssl-utils - there are various places this update could go, so think about that (e.g. pem->key, more-generic pem->obj, Java level, etc.).\n\n* Ensure that keys generated following the process below no longer crash the server.\n* Unit tests\n* Open a SERVER ticket with DOCS label that includes pre-docs for what needs to be updated.\n\n----------------------------------------------------------------------------------------\n\n\u00a0\n\nOriginal bug report:\n\n*Puppet Server Version:* 7.1.2\n *OS Name/Version:* Debian Unstable\n\n[Disable the internal CA|https://puppet.com/docs/puppet/7/config_ssl_external_ca.html#config_puppet_server]\n\nGenerate an appropriate EC key and cert (also attached):\n # {{openssl ecparam -name prime256v1 -genkey -out example.key}}\n # {{openssl req -x509 -utf8 -subj \"/CN=Example\" -addext \"subjectAltName=critical,DNS:example.com\" -new -key example.key -out example.crt}}\n\nConfigure the webserver:\n{code}webserver: {\n\tclient-auth: want\n\n\tssl-ca-cert: example.crt\n\tssl-cert: example.crt\n\tssl-key: example.key\n\n\tssl-host: \"[::]\"\n\tssl-port: 8140\n\tssl-protocols: [TLSv1.2, TLSv1.3]\n}\n{code}\n*Desired Behavior:*\n Puppet Server is able to use a EC NIST P-256 cert/key.\n\n*Actual Behavior:*\n Crashes on startup with \"Expected a KeyPair or PrivateKey, got 1.2.840.10045.3.1.7\". See [^log.txt] for the backtrace.\n\n*Remarks:*\n Notably ED25519 does work, but is not usable because of [ruby-openssl#443|https://github.com/ruby/openssl/issues/443].\n Presumably regular EC keys have a different class or something as they need to include extra information about the curve for the key.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15860", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "15860", "issueType": "Bug", "key": "SERVER-3016", "labels": ["docs-reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c08e7a1d81f0069d8dd26", "resolution": "Fixed", "resolutionDate": "2021-06-30T12:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Cannot use OpenSSL EC files in OpenSSL format", "timeSpent": "PT0S", "updated": "2021-07-12T11:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2021-05-18T11:28: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@627c5165"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:4090000694421"}, {"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": "Users of the environment and transport info endpoints may have seen the cache bypassed (and additional work on the server) even though a 304 Not Modified response was received."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_501125012_*|*_1_*:*_1_*:*_116424_*|*_10007_*:*_1_*:*_6331686_*|*_3_*:*_1_*:*_6519666_*|*_5_*:*_1_*:*_0"}], "description": "As part of a refactor in SERVER-2471 a bug was introduced where if the etag cache has been evicted but the requester submits a still valid etag the server will compute the class info for an environment (because the cache was empty)\u00a0then check the computed etag value against requested etag and return a 304, _but_ not cache the newly computed etag.\n\n\n\u00a0\n\nThis means if there's a deploy that evicts an environment but doesn't change the class info for that environment, the cache will not be updated (despite returning 304) until a deploy where the environment changes its class content.\n\nA work around for this exists, users may submit a request to the environment_classes endpoint without the etag. This will trigger the correct caching behavior. However, the console (the consumer of the environment_classes endpoint in PE) will always submit an etag for an environment if it has one.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16631", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "16631", "issueType": "Bug", "key": "SERVER-3015", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2021-05-24T10:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Environment_classes endpoint will not cache data if given accurate etag", "timeSpent": "PT0S", "updated": "2021-05-24T10:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The async http client we use inside the server is also affected by these URL normalization changes. I've fixed up the unit tests for now, and we're running this through beaker testing to see if it causes any issues with routine http requests internally.", "created": "2021-05-13T09:54:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm pretty sure the fix for this is what actually broke things: [https://issues.apache.org/jira/browse/HTTPCLIENT-1960.] There is apparently a _lot_ of heated debate in the open-source community as to which of these two behaviors is correct: it seems to depend a lot on what you're trying to do and how smart the server being queried is. In our case, we had some tests that were gratuitously adding slashes between the host and the path. Assuming the result of the work is what was described in the ticket, then the resulting URL should have the second slash encoded rather than ignored, which results in a 404. Note that additional forward slashes between other path segments still works fine.\n\nThis update also introduced some other changes to encoding that didn't happen to break our tests. If the URL contains certain encoded characters, notably '/' and ':', the client will no longer preserve those in what it sends to the server (the maintainers claim that it is not required by the spec that ':' be encoded, and that preserving encoded slashes is \"dumb and pointless\"). See the comments on https://github.com/apache/httpcomponents-client/commit/8c04c6ae5e5ba1432e40684428338ce68431766b.", "created": "2021-05-13T15:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This did not cause any test failures in our beaker tests, in either FOSS or PE.", "created": "2021-05-14T10:00:00.000000"}], "components": [], "created": "2021-05-12T10:52: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@a5b89bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o08hxw:"}, {"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": "A security update to the apache HTTP client introduced an unrelated change to URL normalization, so that URLs with two consecutive forward slashes between the host and the path will no longer be sent as-is to the server: the second will be URL-encoded as if it was part of the path segment and not a separator. This affects any use of Puppet's HTTP client within Puppet Server."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85944248_*|*_1_*:*_1_*:*_5736_*|*_10007_*:*_1_*:*_69457976_*|*_3_*:*_1_*:*_14215933_*|*_5_*:*_1_*:*_0"}], "description": "We recently updated the apache HTTP client in clj-parent from 4.5.3 to 4.5.13. Doing so has broken a number of tests in puppetserver.\n\nSome of these seem to be due to a change in the way double slashes are handled in URLs, and was caused by the updates in 4.5.8. Still investigating other failures.\n\nWe will need to do further testing to make sure none of these changes affect our actual product.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14885", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "14885", "issueType": "Bug", "key": "SERVER-3014", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-05-14T10:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "New apache HTTP client is breaking tests", "timeSpent": "PT0S", "updated": "2021-05-18T12:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5e3375e183d74c0e821851f3", "created": "2021-05-12T08:28:00.000000", "name": "image-2021-05-12-10-09-55-969.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11248"}, {"attacher": "623cfc6c01f8660070b787d6", "created": "2021-11-11T23:58:00.000000", "name": "puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11014"}, {"attacher": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "created": "2021-05-12T10:28:00.000000", "name": "screenshot-1.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10632"}, {"attacher": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "created": "2021-05-12T10:29:00.000000", "name": "screenshot-2.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10716"}], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "[~accountid:557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe] Do those errors align with a Jruby refresh in the puppetserver.log? ", "created": "2021-05-12T08:27:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "We are still seeing this regularly ( albeit more random, and not during cold start of the Puppet server any more since changing the\u00a0libdir to {color:#000000}/opt/puppetlabs/puppet/cache/lib{color} )\n\n!image-2021-05-12-10-09-55-969.png!\n\nin 24 hours, out of the 56, 4 events occurred from 2 servers, so correlating it to any particular catalogue is impossible given we have ~630 nodes checking in every 30 minutes for similar node configurations.\n\nAny further thoughts on how I could continue troubleshooting?", "created": "2021-05-12T10:17:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "I will check on jruby refreshes [~accountid:5e3375e183d74c0e821851f3]\u00a0 and respond back shortly.", "created": "2021-05-12T10:18:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "Hi [~accountid:5e3375e183d74c0e821851f3] ,\n\n\u00a0\nYes, we are seeing the JRUBY creations happening seconds or minutes before the next ruby-pwsh loading error:\n\nh2. Jruby creations\n !screenshot-1.png|thumbnail! \nh2 Node errors\n !screenshot-2.png|thumbnail! \n", "created": "2021-05-12T10:29:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "[~accountid:557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe]Thank you for confirming. That indicates that the Jruby startup fails to find the library during the first catalog compilation.  I will defer to the team that owns this Jira space for comment or investigation.\n\nA potential workaround, for now, would be to increase the {{max-requests-per-instance}} to decrease the Jruby refresh frequency. You could potentially set it to 0 to disable the refreshes or increase it to a larger number like 1,000,000 to decrease the frequency. ", "created": "2021-05-12T10:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We wanted to double check if the versions at the top of the ticket are correct: are you using a Puppet 6 agent alongside a Puppet 5 server? This is not a configuration we recommend to run with outside of the upgrade process", "created": "2021-05-12T12:08:00.000000"}, {"author": "623cfc6c01f8660070b787d6", "body": "We are seeing the same.\n\nPuppetserver: 6.15.3\n Puppet agent: 6.23\n OS: Windows Server 2019\n\nWe need several runs until all dsc resources we use are loaded. Reloading the puppetserver after the puppet runs succeed reintroduces the problem.\n\nThere are errors in the logs of the puppetserver (attached). E.g. line 155 shows the error we see on the clients.\n\n[^puppetserver.log]", "created": "2021-11-11T23:38:00.000000"}, {"author": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "body": "Still an active issue on latest PuppetServer and Puppet agent. Seems to be server side. After the first catalog compilation error the issue does not persist. ", "created": "2021-11-22T13:58:00.000000"}], "components": ["Puppet Server"], "created": "2021-05-12T08:21: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@76d11645"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0lip"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/May/21"}], "description": "*Puppet Version: 6.18.0*\n *Puppet Server Version: 5.3*\n *OS Name/Version:*\u00a0Windows Server 2012 R2\n\n\u00a0\n\nWe get the following error randomly across our windows nodes in our puppet environment. We have 4 different node types which interface with different custom puppet manifests however all of them seem to have this issue pop up occasionally.\u00a0\n{code:java}\nCould not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Could not autoload puppet/type/dsc: Could not autoload puppet/provider/base_dsc_lite/powershell: no such file to load -- ruby-pwsh  {code}\nAfter\u00a0changing the\u00a0libdir to\u00a0{color:#000000}/opt/puppetlabs/puppet/cache/lib it does not occur on the pupperserver restart.{color}\n\n\u00a0\n\n*Desired Behavior:*\n\nThe library is present, so puppetserver should load it at all times.\n\n*Actual Behavior:*\n\n\u00a0\n\nIn 24 hours, out of the 56, 4 events occurred from 2 servers, so correlating it to any particular catalogue is impossible given we have ~630 nodes checking in every 30 minutes for similar node configurations. !image-2021-05-12-10-09-55-969.png!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16867", "fixedVersions": [], "id": "16867", "issueType": "Bug", "key": "SERVER-3013", "labels": ["has_workaround"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3f9bb89b-7f6b-4aa6-8670-4021884c44fe", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver intermittently fails to load ruby files", "timeSpent": "PT0S", "updated": "2022-03-09T09:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "duplicate of:\u00a0https://puppet.atlassian.net/browse/SERVER-3010", "created": "2021-05-19T00:58:00.000000"}], "components": [], "created": "2021-05-12T02:06: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@2b730f7e"}, {"fieldName": "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-3747"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o08hlw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_36340_*|*_6_*:*_2_*:*_570550208_*|*_10006_*:*_1_*:*_30126905"}], "description": "Remove {{Debian 8}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Debian 8 FOSS support", "estimate": "PT0S", "externalId": "16630", "fixedVersions": [], "id": "16630", "issueType": "Task", "key": "SERVER-3012", "labels": [], "originalEstimate": "PT0S", "parent": "58462", "parentSummary": "Remove Debian 8 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Duplicate", "resolutionDate": "2021-05-19T00:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Debian 8 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2021-05-19T00:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5efb3a716fddfb0bb4f62604", "created": "2021-05-10T12:12:00.000000", "name": "puppagent-2.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11012"}, {"attacher": "5efb3a716fddfb0bb4f62604", "created": "2021-05-10T12:12:00.000000", "name": "puppetserver-2.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10924"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hello,\n\nYou mention that 6.15.3 no longer works. I was wondering if it worked in 6.14 or 6.13? Specifically if PUP-10238 is causing issues ([release notes|https://puppet.com/docs/puppet/6.22/release_notes_puppet.html#new_features_puppet_x-13-0-new-default-behavior], [pull request|https://github.com/puppetlabs/puppet/pull/7982]).", "created": "2021-05-12T13:05:00.000000"}, {"author": "5efb3a716fddfb0bb4f62604", "body": "Hello,\n\nThis was on a fresh install of puppetserver, not an upgrade from a previously working version. We only tried 6.15.3 and 7.1.2 then. I'm a bit reluctant to reinstall an old version again, since we now have a more or less working setup with the certname comparison.\n\nPUP-10238 seems to change the strict_hostname_checking. Could a change in hostname checking explain that neither the corresponding node name nor the default one are executed? Even with only a single default node in the site.pp the content is not executed.", "created": "2021-05-13T09:09:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "yeah, sorry for the delay getting back to you. I understand not wanting to try out random versions of Puppet Server, especially since you have something working.\n\n\u00a0\n\nHowever, I haven't been able to reproduce your issue. I just did a fresh install with Puppet Server 7.1.2, ran the {{puppetserver ca setup}} util and create a single additional environment \"farm\" in my codedir with just a site.pp. It looks like this:\n{code:java}[root@acoustic-flaw ~]# cat /etc/puppetlabs/code/environments/farm/manifests/site.pp \n\n$certname = $trusted['certname']notify{\"facter certname: $certname\":}\n\nnode default {\n    notify{'node default':}\n}\n\nnode 'acoustic-flaw.delivery.puppetlabs.net' {\n    notify{'include master':}\n}\n\nif $certname == 'acoustic-flaw.delivery.puppetlabs.net' {\n    notify{'certname master':}\n}\n\nnotify{'End of site.pp':} {code}\n{code:java}[root@acoustic-flaw ~]# cat /etc/puppetlabs/puppet/puppet.conf \n\n# This file can be used to override the default puppet settings.\n# See the following links for more details on what settings are available:\n# - https://puppet.com/docs/puppet/latest/config_important_settings.html\n# - https://puppet.com/docs/puppet/latest/config_about_settings.html\n# - https://puppet.com/docs/puppet/latest/config_file_main.html\n# - https://puppet.com/docs/puppet/latest/configuration.html\n\n[server]\nvardir = /opt/puppetlabs/server/data/puppetserver\nlogdir = /var/log/puppetlabs/puppetserver\nrundir = /var/run/puppetlabs/puppetserver\npidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid\ncodedir = /etc/puppetlabs/code\n\n[agent]\nserver = acoustic-flaw.delivery.puppetlabs.net\nenvironment = farm\n {code}\n{code:java}[root@acoustic-flaw ~]# puppet agent -t  \nInfo: Using configured environment 'farm'\nInfo: Retrieving pluginfacts                                                                   \nInfo: Retrieving plugin       \nInfo: Caching catalog for acoustic-flaw.delivery.puppetlabs.net\nInfo: Applying configuration version '1622069327'\nNotice: facter certname: acoustic-flaw.delivery.puppetlabs.net\nNotice: /Stage[main]/Main/Notify[facter certname: acoustic-flaw.delivery.puppetlabs.net]/message: defined 'message' as 'facter certname: acoustic-flaw.delivery.puppetlabs.net'\nNotice: certname master                                                                        \nNotice: /Stage[main]/Main/Notify[certname master]/message: defined 'message' as 'certname master'\nNotice: End of site.pp\nNotice: /Stage[main]/Main/Notify[End of site.pp]/message: defined 'message' as 'End of site.pp' \nNotice: include master\nNotice: /Stage[main]/Main/Node[acoustic-flaw.delivery.puppetlabs.net]/Notify[include master]/message: defined 'message' as 'include master'\nNotice: Applied catalog in 0.02 seconds {code}\n\u00a0\n\n\u00a0\n\nIs it possible that there's some encoding issue? Everything _should_ be UTF-8 compatible though sometime special characters can cause problems.", "created": "2021-05-26T17:03:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:5efb3a716fddfb0bb4f62604] since we can't reproduce your issue, we are going to close this. If you're still having trouble and can provide additional info, feel free to re-open. Thanks!", "created": "2021-06-09T11:38:00.000000"}], "components": [], "created": "2021-05-10T12:15:00.000000", "creator": "5efb3a716fddfb0bb4f62604", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b04840c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o08eoc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2589801353_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.20.0*\n *Puppet Server Version: 7.1.2, 6.15.3*\n *OS Name/Version: CentOS7*\n\nOur puppet master server (called 'master.XYZ.com' here) ignores the node definitions in the manifest/site.pp of our environment (called 'farm').\nThe site.pp looks like this:\n{code:java}\n$certname = $trusted['certname']\nnotify{\"facter certname: $certname\":}\n\nnode default {\n    notify{'node default':}\n}\n\nnode 'master.XYZ.com' {\n    notify{'include master':}\n    include master\n}\n\nif $certname == 'master.XYZ.com' {\n    notify{'certname master':}\n}\n\nnotify{'End of site.pp':}\n{code}\nWe want to run puppet-agent on\u00a0master.XYZ.com itself, so we add the agent section to /etc/puppetlabs/puppet/puppet.conf:\n{code:java}\n# This file can be used to override the default puppet settings.\n# See the following links for more details on what settings are available:\n# - https://puppet.com/docs/puppet/latest/config_important_settings.html\n# - https://puppet.com/docs/puppet/latest/config_about_settings.html\n# - https://puppet.com/docs/puppet/latest/config_file_main.html\n# - https://puppet.com/docs/puppet/latest/configuration.html\n[user]\nhttp_proxy_host = scarecrow\nhttp_proxy_port = 3128\n[server]\nvardir = /opt/puppetlabs/server/data/puppetserver\nlogdir = /var/log/puppetlabs/puppetserver\nrundir = /var/run/puppetlabs/puppetserver\npidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid\ncodedir = /etc/puppetlabs/code\n[master]\nstoreconfigs = true\nstoreconfigs_backend = puppetdb\n[agent]\nserver = master.XYZ.com\nenvironment = farm{code}\nRunning puppet agent -t on master.XYZ.com successfully executes the init.pp above, but skips both the default node case and the master.XYZ.com case. Manually checking for $certname == 'master.XYZ.com' works and the corresponding notify is executed. The verbose logs of the agent and server are attached.\n\nWe observerd this behavior both running puppetserver version 7.1.2 and puppetserver version 6.15.3 and also both before and after installing puppetdb.\n*Desired Behavior:*\nThe node 'master.XYZ.com' {} block is executed*.*\n*Actual Behavior:*\nEverything but the node {} blocks in site.pp is executed.\n\n\u00a0", "environment": "[^puppagent.log]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16865", "fixedVersions": [], "id": "16865", "issueType": "Bug", "key": "SERVER-3011", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5efb3a716fddfb0bb4f62604", "resolution": "Cannot Reproduce", "resolutionDate": "2021-06-09T11:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "node definitions are being ignored", "timeSpent": "PT0S", "updated": "2021-06-09T11:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-05-06T12:52: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@7d44f6a2"}, {"fieldName": "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-3735"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o08dtg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_69759614_*|*_1_*:*_1_*:*_1414_*|*_10007_*:*_1_*:*_5293902_*|*_3_*:*_1_*:*_386176_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_378784"}], "description": "Remove {{Debian 8 Jessie (amd64, i386)}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Debian 8 Jessie (amd64, i386) FOSS support", "estimate": "PT0S", "externalId": "16629", "fixedVersions": [], "id": "16629", "issueType": "Task", "key": "SERVER-3010", "labels": [], "originalEstimate": "PT0S", "parent": "58460", "parentSummary": "Remove Debian 8 Jessie (amd64, i386) FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-05-07T09:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Debian 8 Jessie (amd64, i386) from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2021-05-07T09:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c12a0562ab90069f8b338] I'm wondering if there's a code versioning issue. Did you happen to restart the puppetserver process after upgrading?", "created": "2021-05-05T16:57:00.000000"}, {"author": "623c12a0562ab90069f8b338", "body": "[~accountid:63d40628f6e1b543161789a7] Yes, and actually I use theforeman/puppet to manage puppetserver version. This takes care of the configuration and hasn't been a problem yet. I'm using the latest version of [https://forge.puppet.com/modules/theforeman/puppet.|https://forge.puppet.com/modules/theforeman/puppet]\n\n\u00a0\n\nMore information that is helpful is that we actually mount the /etc/puppetlabs/puppet/ssl dir to back it up. When I unmount this directory, I am able to run a successful puppet agent -t. This makes me think there's a permissions problem with the mountpoint, but we've been using this for a while. I only experience the Operation Not Permitted errors after upgrading the puppetserver to version 5.3.15. <=5.3.14 works. >=5.3.15 does not work.", "created": "2021-05-05T17:31:00.000000"}, {"author": "623c12a0562ab90069f8b338", "body": "I feel like this has something to do with the problem - https://puppet.atlassian.net/browse/SERVER-2863\n\n\u00a0\n\nI'm not sure what is happening under the hood when an agent requests a certificate. As far as I can see, puppetserver writes the CSR to the /etc/puppetlabs/puppet/ssl/ca/requests folder with 600 permissions. In my case, the file is written in this directory and WHATEVER is next is not being permitted. This is where it throws the \"Operation Not Permitted\" error. As I mentioned in my last comment, this works when I am not using a gluster mountpoint for the /etc/puppetlabs/puppet/ssl directory, but if that is mounted, I received the Internal Server 500 Operation Not Permitted error on new certificate requests.", "created": "2021-05-06T13:20:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The atomic write functionality that seems to be causing issues for you relies pretty heavily on fairly low-level Java interfaces to Posix file operations. See https://github.com/puppetlabs/clj-kitchensink/blob/main/src/puppetlabs/kitchensink/file.clj for the relevant code. I'm not sure how those might interact with Gluster. Are you aware of any differences there that might be interfering? I'm not sure if we'll be able to fix them, but we may be able to at least document any caveats or gotchas.", "created": "2021-05-27T11:52:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:623c12a0562ab90069f8b338] We're going to close this due to lack of activity. If you're still having trouble and can give us more info on Gluster, feel free to re-open.", "created": "2021-06-09T11:42:00.000000"}], "components": [], "created": "2021-05-05T16:17:00.000000", "creator": "623c12a0562ab90069f8b338", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ffe5117"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"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|o08ch8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3007480914_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.22*\n *Puppet Server Version: 6.14.1*\n *OS Name/Version: RHEL 7 x86*\n\nDescribe your issue in as much detail as possible\u2026\n\n\u00a0\n\nAfter upgrading puppetserver from 5.3.5 to 6.14.1, agents are not able to successfully request a new certificate. Running a puppet agent -t will result in an internal server error 500 \"operation not permitted\". It looks like the CSR is getting written to /etc/puppetlabs/puppet/ssl/ca/requests/ with mode of 600. The exception is a \" java.nio.file.FileSystemException: /etc/puppetlabs/puppet/ssl/ca/requests\". the puppet user and group is the owner of that directory.\n\nI have SELinux turned off.\n\n\u00a0\n\n*Desired Behavior: The agent should be able to request a certificate and the puppetserver CA should issue the certificate automatically.*\n\n*Actual Behavior:*\n\nExamples:\n Run puppet agent with --test --trace --debug\n\n\u00a0\n{code:java}\nDebug: Creating new connection for https://puppetmaster.ssnp201.apse2.xx.xxx.com:8140\nDebug: HTTP GET https://puppetmaster.ssnp201.xx.xx.xx.com:8140/puppet-ca/v1/certificate/i-0484da0deef1a4829.ntpd2.xx.xx.internal.xxxx.com returned 404 Not Found\nDebug: Dynamically-bound server lookup failed, falling back to ca_server setting: puppetmaster.ssnp201.apse2.xxx.xx.com\nDebug: Dynamically-bound port lookup failed; falling back to ca_port setting: 8140\nDebug: Creating new connection for https://puppetmaster.ssnp201.apse2.internal.xxx.com:8140\nDebug: HTTP GET https://puppetmaster.ssnp201.xx.xx.xx.xx:8140/puppet-ca/v1/certificate_request/i-0484da0deef1a4829.ntpd2.ssnp201.xx.xxx.xx.com returned 404 Not Found\nInfo: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml\nInfo: Creating a new SSL certificate request for i-0484da0deef1a4829.ntpd2.xxxx.xxxx.xxx.xxx.xxx\nInfo: Certificate Request fingerprint (SHA256): 7F:20:83:8D:64:DC:6B:5F:C0:EB:9B:BE:70:7D:32:02:C0:E0:02:E6:F4:46:83:3D:95:9D:24:0F:E2:F3:B6:D6\nDebug: Dynamically-bound server lookup failed, falling back to ca_server setting: puppetmaster.ssnp201.xxx.xxx.xxxx.xxxx\nDebug: Dynamically-bound port lookup failed; falling back to ca_port setting: 8140\nDebug: Creating new connection for https://puppetmaster.ssnp201.apse2.xx.xx.com:8140\nDebug: HTTP PUT https://puppetmaster.ssnp201.xx.xx.xx.com:8140/puppet-ca/v1/certificate_request/i-0484da0deef1a4829.ntpd2.ssnp201.xx.xx.xx.com returned 500 Server Error\nError: Could not request certificate: Error 500 on SERVER: Internal Server Error: java.nio.file.FileSystemException: /etc/puppetlabs/puppet/ssl/ca/requests/i-0484da0deef1a4829.ntpd2.ssnp201.xx.xx.xx.com.pem2243328055254746826tmp: Operation not permitted\n{code}\n\u00a0\n\n\u00a0\n\n\u00a0\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\n\u00a0\n{code:java}\n-05-05 21:59:32,009 ERROR [qtp34013190-36] [p.r.core] Internal Server Error: java.nio.file.FileSystemException: /etc/puppetlabs/puppet/ssl/ca/requests/i-0484da0deef1a4829.ntpd2.ssnp201.xx.xx.xx.com.pem4432301073617702865tmp: Operation not permitted\n\tat sun.nio.fs.UnixException.translateToIOException(UnixException.java:91)\n\tat sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)\n\tat sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)\n\tat sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:238)\n\tat sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:260)\n\tat java.nio.file.Files.setPosixFilePermissions(Files.java:2045)\n\tat puppetlabs.kitchensink.file$atomic_write.invokeStatic(file.clj:76)\n\tat puppetlabs.kitchensink.file$atomic_write.invoke(file.clj:36)\n\tat puppetlabs.puppetserver.certificate_authority$fn__37644$write_csr__37649$fn__37650.invoke(certificate_authority.clj:479)\n\tat puppetlabs.puppetserver.certificate_authority$fn__37644$write_csr__37649.invoke(certificate_authority.clj:474)\n\tat puppetlabs.puppetserver.certificate_authority$fn__38703$save_certificate_request_BANG___38708$fn__38709.invoke(certificate_authority.clj:1226)\n\tat puppetlabs.puppetserver.certificate_authority$fn__38703$save_certificate_request_BANG___38708.invoke(certificate_authority.clj:1218)\n\tat puppetlabs.puppetserver.certificate_authority$fn__38837$process_csr_submission_BANG___38842$fn__38846.invoke(certificate_authority.clj:1310)\n\tat puppetlabs.puppetserver.certificate_authority$fn__38837$process_csr_submission_BANG___38842.invoke(certificate_authority.clj:1296)\n\tat puppetlabs.services.ca.certificate_authority_core$fn__40800$handle_put_certificate_request_BANG___40805$fn__40806.invoke(certificate_authority_core.clj:60)\n\tat puppetlabs.services.ca.certificate_authority_core$fn__40800$handle_put_certificate_request_BANG___40805.invoke(certificate_authority_core.clj:55)\n\tat puppetlabs.services.ca.certificate_authority_core$fn__40998$web_routes__41003$fn__41004$fn__41015.invoke(certificate_authority_core.clj:389)\n\tat bidi.ring$fn__17722.invokeStatic(ring.cljc:25)\n\tat bidi.ring$fn__17722.invoke(ring.cljc:21)\n\tat bidi.ring$fn__17707$G__17702__17716.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__19638.invoke(comidi.clj:245)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$fn__26381$wrap_authorization_check__26386$fn__26387$fn__26388.invoke(ring_middleware.clj:290)\n\tat puppetlabs.ring_middleware.core$fn__23841$wrap_bad_request__23850$fn__23853$fn__23859.invoke(core.clj:187)\n\tat puppetlabs.puppetserver.ringutils$fn__37165$wrap_with_trapperkeeper_or_client_whitelist_authorization__37170$fn__37171$fn__37175.invoke(ringutils.clj:124)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$fn__23939$wrap_uncaught_errors__23948$fn__23951$fn__23956.invoke(core.clj:233)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__37154.invoke(ringutils.clj:83)\n\tat puppetlabs.ring_middleware.core$fn__23538$wrap_response_logging__23543$fn__23544$fn__23545.invoke(core.clj:53)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__29738.invoke(jetty9_core.clj:455)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__29308$normalize_uri_handler__29313$fn__29314$fn__29315.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1363)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:190)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1278)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:717)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:54)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:500)\n\tat org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)\n\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543)\n\tat org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398)\n\tat org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)\n\tat java.lang.Thread.run(Thread.java:748){code}\n\u00a0\n\nPuppetMasters puppet.conf config:\n\n\u00a0\n{code:java}\n# file managed by puppet\n[main]\n    certname = puppetmaster.xx.xx.xx.xx.com\n    codedir = /etc/puppetlabs/code\n    environmentpath = /etc/puppetlabs/code/environments\n    hiera_config = $confdir/hiera.yaml\n    hostprivkey = $privatekeydir/$certname.pem { mode = 640 }\n    logdir = /var/log/puppetlabs/puppet\n    pluginfactsource = puppet:///pluginfacts\n    pluginsource = puppet:///plugins\n    privatekeydir = $ssldir/private_keys { group = service }\n    reports = none\n    rundir = /var/run/puppetlabs\n    server = puppetmaster.xx.xx.xx.xx.com\n    show_diff = false\n    ssldir = /etc/puppetlabs/puppet/ssl\n    vardir = /opt/puppetlabs/puppet/cache[agent]\n    classfile = $statedir/classes.txt\n    default_schedules = false\n    environment = develop\n    localconfig = $vardir/localconfig\n    masterport = 8140\n    noop = false\n    report = true\n    runinterval = 1800\n    splay = true\n    splaylimit = 1800\n    usecacheonfailure = true[master]\n    autosign = /etc/puppetlabs/puppet/autosign.conf { mode = 0664 }\n    ca = true\n    ca_ttl = 2y\n    certname = puppetmaster.xx.xx.xx.xx.com\n    logdir = /var/log/puppetlabs/puppetserver\n    parser = current\n    rundir = /var/run/puppetlabs/puppetserver\n    ssldir = /etc/puppetlabs/puppet/ssl\n    storeconfigs = false\n    strict_variables = false\n    vardir = /opt/puppetlabs/server/data/puppetserver{code}\n\u00a0\n\nPuppetserver conf file:\n{code:java}\n[root@puppetmaster conf.d]# cat puppetserver.conf\n#\n# Managed by Puppet\n#\n# configuration for the JRuby interpreters\njruby-puppet: {\n    # Where the puppet-agent dependency places puppet, facter, etc...\n    # Puppet server expects to load Puppet from this location\n    ruby-load-path: [\n        /opt/puppetlabs/puppet/lib/ruby/vendor_ruby,\n    ]    # This setting determines where JRuby will install gems.  It is used for loading gems,\n    # and also by the `puppetserver gem` command line tool.\n    gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems    # This setting defines the complete \"GEM_PATH\" for jruby.  If set, it should include\n    # the gem-home directory as well as any other directories that gems can be loaded\n    # from (including the vendored gems directory for gems that ship with puppetserver)\n    gem-path: [${jruby-puppet.gem-home}, \"/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_gems\"]    # PLEASE NOTE: Use caution when modifying the below settings. Modifying\n    # these settings will change the value of the corresponding Puppet settings\n    # for Puppet Server, but not for the Puppet CLI tools. This likely will not\n    # be a problem with master-var-dir, master-run-dir, or master-log-dir unless\n    # some critical setting in puppet.conf is interpolating the value of one\n    # of the corresponding settings, but it is important that any changes made to\n    # master-conf-dir and master-code-dir are also made to the corresponding Puppet\n    # settings when running the Puppet CLI tools. See\n    # https://docs.puppetlabs.com/puppetserver/latest/puppet_conf_setting_diffs.html#overriding-puppet-settings-in-puppet-server\n    # for more information.    # (optional) path to puppet conf dir; if not specified, will use\n    # the puppet default\n    master-conf-dir: /etc/puppetlabs/puppet    # (optional) path to puppet code dir; if not specified, will use\n    # the puppet default\n    master-code-dir: /etc/puppetlabs/code    # (optional) path to puppet var dir; if not specified, will use\n    # the puppet default\n    master-var-dir: /opt/puppetlabs/server/data/puppetserver    # (optional) path to puppet run dir; if not specified, will use\n    # the puppet default\n    master-run-dir: /var/run/puppetlabs/puppetserver    # (optional) path to puppet log dir; if not specified, will use\n    # the puppet default\n    master-log-dir: /var/log/puppetlabs/puppetserver    # (optional) maximum number of JRuby instances to allow\n    max-active-instances: 4    # (optional) the number of HTTP requests a given JRuby instance will handle in its lifetime.\n    max-requests-per-instance: 0    # (optional) The maximum number of requests that may be queued waiting to borrow a JRuby from the pool.\n    max-queued-requests: 0    # (optional) Sets the upper limit for the random sleep set as a Retry-After header on 503 responses returned when max-queued-requests is enabled.\n    max-retry-delay: 1800    # (optional) Authorize access to Puppet master endpoints via rules\n    # specified in the legacy Puppet auth.conf file (if true) or via rules\n    # specified in the Puppet Server HOCON-formatted auth.conf (if false or not\n    # specified).\n    use-legacy-auth-conf: false    # (optional) enable or disable environment class cache\n    environment-class-cache-enabled: false\n}# settings related to HTTPS client requests made by Puppet Server\nhttp-client: {\n    # A list of acceptable protocols for making HTTPS requests\n    ssl-protocols: [\n        TLSv1.2,\n    ]    # A list of acceptable cipher suites for making HTTPS requests\n    cipher-suites: [\n        TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,\n        TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,\n        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,\n        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,\n        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,\n        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,\n    ]    # Whether to enable http-client metrics; defaults to 'true'.\n    metrics-enabled: false    # The amount of time, in milliseconds, that an outbound HTTP connection\n    # will wait for data to be available before closing the socket. If not\n    # defined, defaults to 20 minutes. If 0, the timeout is infinite and if\n    # negative, the value is undefined by the application and governed by the\n    # system default behavior.\n    idle-timeout-milliseconds: 1200000    # The amount of time, in milliseconds, that an outbound HTTP connection will\n    # wait to connect before giving up. Defaults to 2 minutes if not set. If 0,\n    # the timeout is infinite and if negative, the value is undefined in the\n    # application and governed by the system default behavior.\n    connect-timeout-milliseconds: 120000\n}# settings related to profiling the puppet Ruby code\nprofiler: {\n    # enable or disable profiling for the Ruby code;\n    enabled: false\n}\n{code}\n\u00a0\n\n\u00a0\n\n\u00a0\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16289", "fixedVersions": [], "id": "16289", "issueType": "Bug", "key": "SERVER-3009", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12a0562ab90069f8b338", "resolution": "Cannot Reproduce", "resolutionDate": "2021-06-09T11:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Internal Server Error 500: Operation Not Permitted  agent on Certificate Requests", "timeSpent": "PT0S", "updated": "2021-06-09T11:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-05-03T04:17:00.000000", "creator": "5c083dd9ed26a5223c94f646", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cd0d11a"}, {"fieldName": "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-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Prometheus Metrics HTTP Endpoint"}, {"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_yellow"}, {"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|o089y4:"}], "description": "To monitor Puppet Server there is a need for having a Prometheus compliant metrics exporter HTTP endpoint.\n\nSuch an endpoint will allow us to have a basic understanding of the state of the Puppet Server. It will also allow us to come up with a Grafana dashboard on Puppet Server performance.\n\nThe Puppet Server Helm chart can be developed further to include a Kubernetes resource of the type \"ServiceMonitor\" - so that the Puppet Server can be automatically configured to be discovered by the official Prometheus Operator.\n\nSome good examples for Ruby can be found here:\n * [https://github.com/discourse/prometheus_exporter]\n * [https://github.com/prometheus/client_ruby]\n * [https://www.robustperception.io/instrumenting-a-ruby-on-rails-application-with-prometheus]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17518", "fixedVersions": [], "id": "17518", "issueType": "Epic", "key": "SERVER-3008", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c083dd9ed26a5223c94f646", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create Prometheus Metrics Exporter HTTP Endpoint", "timeSpent": "PT0S", "updated": "2021-05-03T04:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2021-04-30T11:39: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@55428ffb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rg:"}, {"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": "Updated JRuby to 9.2.17.0"}, {"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_*:*_26787171_*|*_1_*:*_1_*:*_9099649_*|*_10007_*:*_1_*:*_246328647_*|*_3_*:*_1_*:*_56628_*|*_5_*:*_1_*:*_0"}], "description": "https://www.jruby.org/2021/03/29/jruby-9-2-17-0.html\n\nThere's a fix to a bug Patrick filed about InvokeDynamic, but I think it's unclear if that's sufficient to let us turn it on again.\n\nThis is more just a maintenance thing, to keep us up to date, since we're currently several versions behind.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17517", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "17517", "issueType": "Task", "key": "SERVER-3007", "labels": ["doc_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-05-03T18:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby to 9.2.17.0", "timeSpent": "PT0S", "updated": "2021-05-18T12:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for filing this! We have https://puppet.atlassian.net/browse/SERVER-2252 for this request, but I'll close that in favor of this, to record that there's user interest in the feature.", "created": "2021-05-12T10:14:00.000000"}], "components": ["Certificate Authority", "Puppet Server"], "created": "2021-04-29T05:23:00.000000", "creator": "623c104794742a00683e402a", "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 puppetserver ca cli enables to user to display information in different formats when using the {{list}} command\n * The old behaviour is still the default (and can be explicitly set with using \"text\" as format).\n * A json-output-format is available."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38a739b5"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o09big:"}, {"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 puppetserver-ca CLI tool now can output certificates in a specified format by the user's choice through using the '--format' flag.  Current available options are: 'text' (default), 'json'."}, {"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/May/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_322222160_*|*_1_*:*_1_*:*_1140674900_*|*_10007_*:*_1_*:*_197119013_*|*_3_*:*_1_*:*_81503880_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2158886804_*|*_10005_*:*_1_*:*_1996257977"}], "description": "+*Scenario*+\n\nWe are currently using a puppet bolt script in order to sign CSRs. For now, we are parsing the output of the following command.\n{code:java}\npuppetserver ca list --all\n{code}\n\u00a0\n\n+*Motivation*+\n\nParsing plain text is quite error prone and most likely, if something changes in the output printing, it will fail in the future.\n\n\u00a0\n\n+*Proposal*+\n\nIt would be good, if the output format of the ca command could be controlled by using a switch such as:\n{code:java}\n--format json{code}\nFor our use case, json would be completely sufficient.\n\n\u00a0\n\n+*Notes*+\n\nThe puppetserver-ca-cli already seems to internally work with json and could probably easily just dump it without converting it beforehand.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16028", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "16028", "issueType": "New Feature", "key": "SERVER-3006", "labels": ["ca", "docs-reviewed", "feature", "froyo_intern", "server"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c104794742a00683e402a", "resolution": "Done", "resolutionDate": "2021-07-06T11:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide parsable (json) output for puppetserver ca commands", "timeSpent": "PT0S", "updated": "2021-07-12T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:44:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68feaaa3"}, {"fieldName": "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-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rl:o"}, {"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_*:*_7667702_*|*_1_*:*_1_*:*_1189537192_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1146617180"}], "description": "(Initial planned release date: 2021-05-25)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-05-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "15172", "fixedVersions": [], "id": "15172", "issueType": "Task", "key": "SERVER-3005", "labels": [], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-05-25T18:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-05-25T18:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:43:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@521cfea7"}, {"fieldName": "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-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rl:c"}, {"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_*:*_1189587983_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1046865181"}], "description": "(Initial planned release date: 2021-05-25)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-05-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "17516", "fixedVersions": [], "id": "17516", "issueType": "Task", "key": "SERVER-3004", "labels": [], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-05-24T12:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-05-24T12:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:43:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13608e48"}, {"fieldName": "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-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rl:"}, {"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_*:*_1189587608_*|*_3_*:*_1_*:*_3234032_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1037674583"}], "description": "(Initial planned release date: 2021-05-25)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.3.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-05-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "17251", "fixedVersions": [], "id": "17251", "issueType": "Task", "key": "SERVER-3003", "labels": [], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-05-24T11:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-05-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] resolved this since docs took over this process", "created": "2021-05-24T18:31:00.000000"}], "components": [], "created": "2021-04-28T15:43:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fbd7c40"}, {"fieldName": "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-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rk:o"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1189587855_*|*_3_*:*_1_*:*_25719390_*|*_10009_*:*_1_*:*_228347_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1040919120"}], "description": "(Initial planned release date: 2021-05-25)\n\nWrite release notes for the release based on the tickets found in the previous step:\n *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n * Search for tickets with {{fixVersion = \"SERVER 7.2.0\"}}.\n * Check each ticket's DOCS tab for the necessary release notes.\n * Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n * Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.", "duedate": "2021-05-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "16951", "fixedVersions": [], "id": "16951", "issueType": "Task", "key": "SERVER-3002", "labels": [], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-05-24T18:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-05-24T18:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2021-04-28T15:43:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a6142d6"}, {"fieldName": "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-11035"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rk:c"}, {"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_*:*_1189587091_*|*_3_*:*_1_*:*_3230309_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1037675744"}], "description": "(Initial planned release date: 2021-05-25)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-05-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "estimate": "PT0S", "externalId": "16628", "fixedVersions": [], "id": "16628", "issueType": "Task", "key": "SERVER-3001", "labels": [], "originalEstimate": "PT0S", "parent": "24527", "parentSummary": "Puppet Platform 7.7.0 Release - 2021-06-01", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-05-24T11:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.2.0)", "timeSpent": "PT0S", "updated": "2021-05-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is this an alternative solution to the request from before about having JRubies have an internal timeout? If so, I think it might be good to talk about the general problem you're having, and from there, discuss the best path forward and get it prioritized with Product. Would you be willing to meet with us to talk about the general issue, or write something up?", "created": "2021-05-12T11:25:00.000000"}], "components": ["Puppet Server"], "created": "2021-04-28T15:04: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@641e58c7"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91ii"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/May/21"}], "description": "Currently, the\u00a0/puppet-admin-api/v1/jruby-pool endpoint deletes all JRubies from the pool and does not allow for the deletion of specific instances.\u00a0 Please add an endpoint that takes and deletes a specific JRuby, e.g.\u00a0/puppet-admin-api/v1/jruby-pool/<id>", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "14884", "fixedVersions": [], "id": "14884", "issueType": "Improvement", "key": "SERVER-3000", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b590061a3f8512ca5eb3be7", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create api for deletion of specific JRuby instances", "timeSpent": "PT0S", "updated": "2022-03-09T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Hey, thanks for filing this. It looks like you've included some personal information from your site, this is a public ticket, so you may want to remove that. \n\nHave you [contacted support team|https://support.puppet.com/hc/en-us/articles/216014828-How-do-I-open-a-support-ticket-]? They may be better able to help you with debugging this.", "created": "2021-04-28T11:14:00.000000"}, {"author": "5d000ab4e0430f0bc91ba39d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0I will contact support, thank you. Can you delete this ticket?", "created": "2021-04-28T11:38:00.000000"}], "components": [], "created": "2021-04-19T14:51:00.000000", "creator": "5d000ab4e0430f0bc91ba39d", "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 is successfully installed, UI is accessible, agents running on all instances.\u00a0"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2826b9d6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o07zz0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1213251265_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\n *Puppet Server Version: 7.5*\n *OS Name/Version: CentOS7\u00a03.10.0-1160.24.1.el7.x86_64***\n\nWhen installing puppet we get a single dependency failure message which causes everything else to fail after\u00a0\n\n[Notice]: /Stage[main]/Pe_postgresql::Server::Service/Pe_anchor[pe_postgresql::server::service::begin]: Dependency Package[postgresql-contrib] has failures: trueESC[0m\n *Desired Behavior:*\n\nPuppet is installed successfully\u00a0\n\n*Actual Behavior:*\n\nPuppet fails to install successfully. The puppet services are running but the UI is unreachable\u00a0\u00a0\n\n\u00a0\n\n*puppet agent \u2013-test*\n\nError: Could not retrieve catalog; skipping run\n Error: Connection to failed, trying next route: Request to failed after 0.0 seconds: Failed to open TCP connection to puppetmaster (Connection refused - connect(2) for \"puppetmaster1\" port 8140)\n Wrapped exception:\n Failed to open TCP connection to puppetmaster:8140 (Connection refused - connect(2) for \"puppetmaster\" port 8140)\n Error: Could not send report: No more routes to report\n\n*systemctl status puppet*\n Apr 19 20:35:40 puppetmasterpuppet-agent[17124]: (/File[/opt/puppetlabs/puppet/cache/lib]) Could not evaluate: Could not retrieve file metadata for puppet:///plugins: No more routes to fileserver\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Connection to [https://puppetmaster1:8140/puppet/v3|https://puppetmaster1.fed.cloudcheckr.com:8140/puppet/v3] failed, trying next route: Request to [https://puppetmaster1:8140/puppet/v3|https://puppetmaster1.fed.cloudcheckr.com:8140/puppet/v3] failed ...\n Apr 19 20:35:41 puppetmasterpuppet-agent[17124]: Wrapped exception:\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Failed to open TCP connection to puppetmaster:8140 (Connection refused - connect(2) for \"puppetmaster\" port 8140)\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Could not retrieve catalog from remote server: No more routes to puppet\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Could not retrieve catalog; skipping run\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Connection to [https://puppetmaster1:8140/puppet/v3|https://puppetmaster1.fed.cloudcheckr.com:8140/puppet/v3] failed, trying next route: Request to [https://puppetmaster1.8140/puppet/v3|https://puppetmaster1.fed.cloudcheckr.com:8140/puppet/v3] failed ...\n Apr 19 20:35:41 puppetmasterpuppet-agent[17124]: Wrapped exception:\n\n\u00a0\n\nApr 19 20:35:41 puppetmaster puppet-agent[17124]: Failed to open TCP connection to puppetmaster:8140 (Connection refused - connect(2) for \"puppetmaster\" port 8140)\n Apr 19 20:35:41 puppetmaster puppet-agent[17124]: Could not send report: No more routes to report\n\n*Installer logs*\u00a0\n\nCould not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install pe-postgresql11-contrib' returned 1: Error: Rpmdb checksum is invalid: pkg checksums:\n 2021-04-19T19:51:54.480+00:00 - [Error]: /Stage[main]/Pe_postgresql::Server::Contrib/Package[postgresql-contrib]/ensure: change from 'purged' to 'latest' failed: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install pe-postgresql11-contrib' returned 1: Error: Rpmdb checksum is invalid: pkg checksums: qualys-cloud-agent-0:2.6.0-88.x86_64\n\nCould not prefetch pe_node_group provider 'ruby': Request to\u00a0 failed after 0.008 seconds: Failed to open TCP connection to puppetmaster:4433 (Connection refused - connect(2) for \"puppetmaster\" port 4433)\n Wrapped exception:\n Failed to open TCP connection to puppetmaster:4433 (Connection refused - connect(2) for \"puppetmaster\" port 4433)\n 2021-04-19T19:52:11.426+00:00 - [Error]: Failed to apply catalog: Request to failed after 0.008 seconds: Failed to open TCP connection to puppetmaster:4433 (Connection refused - connect(2) for \"puppetmaster\" port 4433)\n Wrapped exception:\n Failed to open TCP connection to puppetmaster:4433 (Connection refused - connect(2) for\" port 4433)\n 2021-04-19T19:52:13.531+00:00 - [Notice]: Sent analytics: pe_installer - install_finish - failed\n 2021-04-19T19:52:13.543+00:00 - [Notice]: Sent analytics: pe_installer - install_fail_type - exit_code_not_0_or_2\n * /opt/puppetlabs/puppet/bin/puppet infrastructure configure --detailed-exitcodes --environmentpath /opt/puppetlabs/server/data/environments --environment enterprise --no-noop --libdir /dev/null --factpath /dev/null --install=2019.8.4 --install-method='-c_pe_conf'\n * returned: 1\n 2021-04-19T19:52:13.800+00:00 [ERROR]: !! There were problems during the application of the installation catalog. !!\n 2021-04-19T19:52:13.816+00:00 [ERROR]: !! Review the logs at /var/log/puppetlabs/installer/2021-04-19T19.49.21+0000.install.log and resolve any issues you can find. !!\n 2021-04-19T19:52:13.824+00:00 [ERROR]: !! After fixing any errors, re-run the installer to complete the installation or upgrade. !!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16288", "fixedVersions": [], "id": "16288", "issueType": "Bug", "key": "SERVER-2999", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5d000ab4e0430f0bc91ba39d", "resolution": "Cannot Reproduce", "resolutionDate": "2021-05-03T15:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": " Dependency Package[postgresql-contrib] has failures", "timeSpent": "PT0S", "updated": "2021-05-03T15:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [], "components": [], "created": "2021-04-16T14:41:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ae29e73"}, {"fieldName": "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-13"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "CRL Dedup"}, {"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": "dark_green"}, {"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|hykebj:40900006949xlo"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6763_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_4303920393_*|*_10015_*:*_1_*:*_8236318613_*|*_10014_*:*_1_*:*_2918639800"}], "description": "The Puppet Server CA will happily revoke a certificate multiple times, resulting in multiple identical entries in the CRL. If a customer's workflow causes this to happen frequently, the CRL can grow unnecessarily large.\n\nWe want to fix this with a two-pronged approach:\n1) Prevent certs from being added to the CRL multiple times\n2) Deduplicate existing CRLs on upgrade to retroactively pare them down", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15171", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.3.0"], "id": "15171", "issueType": "Epic", "key": "SERVER-2998", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-10-12T12:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Fix duplicate entries in CRLs", "timeSpent": "PT0S", "updated": "2021-10-12T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This error is unfamiliar to me. Does this happen every time you try to start the server?  Has any older version of puppetserver ever worked in your environment?\n\nIf you can enable core dumps, that might be useful.", "created": "2021-04-28T11:21:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Just following up here in case the original author doesn't see it....\n\nIn Puppet Community Slack they commented that:\n{quote}Update the issue was due to the fact that hyperV environment was emulating a AMD , and not Intel Processor{quote}\n\nhttps://puppetcommunity.slack.com/archives/C0W298S9G/p1619047900099900?thread_ts=1618615388.493100&cid=C0W298S9G", "created": "2021-04-28T11:39:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Oh okay, thanks for that! I think we'll go ahead and close this then. Glad they figured it out.", "created": "2021-04-28T12:17:00.000000"}], "components": ["Puppet Server"], "created": "2021-04-16T14:01:00.000000", "creator": "623c0af91c7f6a007049e4e1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@727bb928"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o07y6c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1030560131_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.5.0*\n *Puppet Server Version: 7.1.0*\n *OS Name/Version: Centos / Rhel 7*\n\n\u00a0\n\n*Desired Behavior: when installed , and puppetserver service has started , default port 8140 should be listening.*\n\n*Actual Behavior: Puppetserver starts but service fails complete startup*\n\nApr 16 20:50:43 puppet systemd[1]: puppetserver.service start operation timed out. Terminating.\nApr 16 20:50:44 puppet puppetserver[3266]: Startup script was terminated before completion\nApr 16 20:50:45 puppet systemd[1]: puppetserver.service: control process exited, code=exited status=1\nApr 16 20:50:45 puppet systemd[1]: Failed to start puppetserver Service.\n-- Subject: Unit puppetserver.service has failed\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit puppetserver.service has failed.\n-- \n-- The result is failed.\nApr 16 20:50:45 puppet systemd[1]: Unit puppetserver.service entered failed state.\nApr 16 20:50:45 puppet systemd[1]: puppetserver.service failed.\nApr 16 20:50:45 puppet systemd[1]: puppetserver.service holdoff time over, scheduling restart.\nApr 16 20:50:45 puppet systemd[1]: Stopped puppetserver Service.\n-- Subject: Unit puppetserver.service has finished shutting down\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit puppetserver.service has finished shutting down.\nApr 16 20:50:45 puppet polkitd[670]: Unregistered Authentication Agent for unix-process:3172:1621353 (system bus name :1.48, object path /org/freedesktop/PolicyKit1/Aut\nApr 16 20:50:45 puppet systemd[1]: Starting puppetserver Service...\n-- Subject: Unit puppetserver.service has begun start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit puppetserver.service has begun starting up.\n\npuppetserver.log\n\n#\n# A fatal error has been detected by the Java Runtime Environment:\n#\n# SIGILL (0x4) at pc=0x00007ff7e2364be4, pid=1176, tid=0x00007ff7938fa700\n#\n# JRE version: OpenJDK Runtime Environment (8.0_282-b08) (build 1.8.0_282-b08)\n# Java VM: OpenJDK 64-Bit Server VM (25.282-b08 mixed mode linux-amd64 compressed oops)\n# Problematic frame:\n# J 8311 C1 org.jruby.ir.instructions.CallBase.potentiallySend(Ljava/lang/String;I)Z (41 bytes) @ 0x00007ff7e2364be4 [0x00007ff7e2364be0+0x4]\n#\n# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try \"ulimit -c unlimited\" before starting Java again\n#\n# If you would like to submit a bug report, please visit:\n# https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%207&component=java-1.8.0-openjdk\n\npuppet.conf\n\nmain]\ncertname = puppet\nserver = puppet\nenvironment = production\ndns_alt_names = puppet\nruninterval = 1h\nstrict_variables = true\n\n[master]\ndns_alt_names = puppetmaster,puppet\nreports = puppetdb\nstoreconfigs_backend = puppetdb\nstoreconfigs = true\nenvironment_timeout = unlimited\n\n[server]\nvardir = /opt/puppetlabs/server/data/puppetserver\nlogdir = /var/log/puppetlabs/puppetserver\nrundir = /var/run/puppetlabs/puppetserver\npidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid\ncodedir = /etc/puppetlabs/code\n\n\u00a0\n\nsysconfig puppetserver\n\n[agent]\nserver = puppet\n[root@puppet puppet]# cat /etc/sysconfig/puppetserver \n###########################################\n# Init settings for puppetserver\n###########################################\n\n# Location of your Java binary (version 8)\nJAVA_BIN=\"/usr/bin/java\"\n\n# Modify this if you'd like to change the memory allocation, enable JMX, etc\nJAVA_ARGS=\"-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\n#JAVA_ARGS=\" -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\n\n\u00a0\n\n# Modify this as you would JAVA_ARGS but for non-service related subcommands\nJAVA_ARGS_CLI=\"${JAVA_ARGS_CLI:-}\"\n\n# Modify this if you'd like TrapperKeeper specific arguments\nTK_ARGS=\"\"\n\n# These normally shouldn't need to be edited if using OS packages\nUSER=\"puppet\"\nGROUP=\"puppet\"\nINSTALL_DIR=\"/opt/puppetlabs/server/apps/puppetserver\"\nCONFIG=\"/etc/puppetlabs/puppetserver/conf.d\"\n\n# Bootstrap path\nBOOTSTRAP_CONFIG=\"/etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/\"\n\n# SERVICE_STOP_RETRIES can be set here to alter the default stop timeout in\n# seconds. For systemd, the shorter of this setting or 'TimeoutStopSec' in\n# the systemd.service definition will effectively be the timeout which is used.\nSERVICE_STOP_RETRIES=60\n\n# START_TIMEOUT can be set here to alter the default startup timeout in\n# seconds. For systemd, the shorter of this setting or 'TimeoutStartSec'\n# in the service's systemd.service configuration file will effectively be the\n# timeout which is used.\nSTART_TIMEOUT=300\n\n\n# Maximum number of seconds that can expire for a service reload attempt before\n# the result of the attempt is interpreted as a failure.\nRELOAD_TIMEOUT=120\n\n\u00a0\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16950", "fixedVersions": [], "id": "16950", "issueType": "Bug", "key": "SERVER-2997", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0af91c7f6a007049e4e1", "resolution": "Won't Fix", "resolutionDate": "2021-04-28T12:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver version: 7.1.0 wont open up port 8140 ", "timeSpent": "PT0S", "updated": "2021-04-28T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This looks like a duplicate of the other one you filed, I've moved that to the PUP project, and I'm going to close this one.", "created": "2021-11-05T14:52:00.000000"}], "components": [], "created": "2021-04-13T09:56:00.000000", "creator": "623c0da5bef8a60068c797d5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32f4f445"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0cark:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17817903328_*|*_6_*:*_1_*:*_0"}], "description": "Running Puppet 6.21.1 with Puppet Server 6.15.1\n\nExample to reproduce issue:\n\n// Install puppetlabs-stdlib 6.6.0 and puppetlabs-registry 4.0.0\npuppet module install puppetlabs-stdlib --version 6.6.0 --force\npuppet module install puppetlabs-registry --version 4.0.0 --force\n\n// Attempt to install puppet-windows_firewall latest\npuppet module install puppet-windows_firewall --version 4.0.0\n\u00a0\n\nAfter attempting to install puppet-windows_firewall the terminal outputs this error:\n\nError: Could not install module 'puppet-windows_firewall' (v4.0.0)\n The requested version cannot satisfy one or more of the following installed modules:\n puppetlabs-registry, installed: 4.0.0, expected: >= 1.1.1 < 4.0.0 Use `puppet module install 'puppet-windows_firewall' --ignore-dependencies` to install only this module\n\n\u00a0\n\nThe problem is that it is complaining about the wrong dependency - it should be complaining that puppetlabs-registry is not < 4.0.0 as indicated in the dependency requirements. The error output is not clear to the end user which dependency is actually a problem, requiring them to have to go to Forge to look it up.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15859", "fixedVersions": [], "id": "15859", "issueType": "Bug", "key": "SERVER-2995", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0da5bef8a60068c797d5", "resolution": "Duplicate", "resolutionDate": "2021-11-05T15:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet server gives error about incorrect dependency", "timeSpent": "PT0S", "updated": "2021-11-05T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is nice to have, I couldn't make it break without this change.", "created": "2021-04-09T19:26:00.000000"}], "components": [], "created": "2021-04-09T19:09: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@152c7ec5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o07rtw:"}, {"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_*:*_25307205_*|*_1_*:*_1_*:*_6001_*|*_10007_*:*_1_*:*_311719933_*|*_3_*:*_1_*:*_983426_*|*_5_*:*_1_*:*_0"}], "description": "We recently made Puppet's 6.x branch detect a migrated CA dir when calculating its default settings. We need to do the same for the CA CLI gem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17515", "fixedVersions": ["SERVER 6.15.3"], "id": "17515", "issueType": "Task", "key": "SERVER-2993", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2021-04-13T17:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport detection of migrated cadir in CA CLI settings resolution", "timeSpent": "PT0S", "updated": "2021-04-15T16:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Currently you can only list certs, but AFAIK you can't show information about the cert beyond what {{puppetserver ca list}} shows, such as expiration dates and issuers.\n\n{noformat}\n$ puppetserver ca list --certname xxx --format text\nSigned Certificates:\n    xxx       (SHA256)  99:2A:A4:96:4C:8B:76:88:33:88:40:E8:E4:5D:31:0E:DB:D1:8B:FD:A2:7B:B6:18:B7:32:D7:C7:3C:93:08:8A\talt names: [\"DNS:puppet\", \"DNS:xxx\"]\tauthorization extensions: [pp_cli_auth: true]\n{noformat}\n\nNote {{puppet ssl show}} operates in an SSL client context. It will only show client certs that the agent has retrieved (and that match its private key). Whereas this ticket is asking for the ability to run in an SSL server context and show arbitrary certs that the CA has issued.\n\nIt would also be super trivial to implement. Once you have the certificate, you just need to call {{puts OpenSSL::X509::Certificate#to_text}}.\n", "created": "2022-01-12T20:58:00.000000"}], "components": [], "created": "2021-04-08T05:02:00.000000", "creator": "557058:cfaec180-0e96-4d38-8f35-88b11a5113bf", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@105607e6"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o07qqk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_540206213_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_24801552813"}], "description": "*Puppet Version: N/A*\n *Puppet Server Version: > 5*\n *OS Name/Version: N/A*\n\n(Shamelessly copied / modified from\u00a0https://puppet.atlassian.net/browse/PUP-10888)\n\nAs a user, I would like a Puppetserver 6 equivalent of the 'puppet cert print' command similar to what was available in previous versions of Puppet on CA servers. The current method requires using OpenSSL as shown in the doc of the deprecated 'puppet cert' command.\u00a0\n\n\u00a0", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15490", "fixedVersions": [], "id": "15490", "issueType": "New Feature", "key": "SERVER-2992", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:cfaec180-0e96-4d38-8f35-88b11a5113bf", "resolution": "Won't Do", "resolutionDate": "2022-01-26T11:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add \"puppetserver ca show (--certname) <certname>\" command", "timeSpent": "PT0S", "updated": "2022-01-26T11:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Rather than disabling promotions, we ended up creating a 2019.8.6-release branch in pe-pse, so we could continue promoting into 2019.8.x without worrying about disrupting the PE release. Instead, this will need to be reverted after PE 2019.8.6 is buttoned up: https://github.com/puppetlabs/ci-job-configs/commit/2b63144c165257ddda293a3dcce60e6da35c801d", "created": "2021-04-21T12:14:00.000000"}], "components": [], "created": "2021-03-25T14:14:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@892be9b"}, {"fieldName": "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-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rn:o"}, {"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/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_88799379_*|*_10007_*:*_1_*:*_2851009_*|*_3_*:*_1_*:*_659694_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3460160650_*|*_10005_*:*_1_*:*_19811"}], "description": "(Initial planned release date: 2021-04-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "17514", "fixedVersions": ["None"], "id": "17514", "issueType": "Task", "key": "SERVER-2991", "labels": [], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-05-05T17:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.15.3)", "timeSpent": "PT0S", "updated": "2021-05-05T17:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We ended up creating a 2019.8.6-release branch in pe-pse, so we can continue promoting into 2019.8.x without worrying about disrupting the PE release. Closing this.", "created": "2021-04-21T12:12:00.000000"}], "components": [], "created": "2021-03-25T14:14:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68ecba3a"}, {"fieldName": "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-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:iy"}, {"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/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_88811356_*|*_10007_*:*_1_*:*_3039655_*|*_3_*:*_1_*:*_507281_*|*_5_*:*_2_*:*_261594619_*|*_10006_*:*_2_*:*_1971544042_*|*_10005_*:*_1_*:*_6894"}], "description": "(Initial planned release date: 2021-04-20)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-04-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16949", "fixedVersions": ["None"], "id": "16949", "issueType": "Task", "key": "SERVER-2990", "labels": [], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-21T12:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.15.3)", "timeSpent": "PT0S", "updated": "2021-04-21T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:14:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68a1e86a"}, {"fieldName": "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-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:iw"}, {"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_*:*_2_*:*_72256575_*|*_1_*:*_1_*:*_88834154_*|*_3_*:*_2_*:*_3037199_*|*_5_*:*_2_*:*_236423931_*|*_10006_*:*_2_*:*_1964305164"}], "description": "(Initial planned release date: 2021-04-20)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.15.3 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-04-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16627", "fixedVersions": ["None"], "id": "16627", "issueType": "Task", "key": "SERVER-2989", "labels": [], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-21T23:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.15.3)", "timeSpent": "PT0S", "updated": "2021-04-21T23:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:14:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34244786"}, {"fieldName": "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-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:ir"}, {"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_*:*_88840048_*|*_10007_*:*_2_*:*_360139242_*|*_3_*:*_2_*:*_570564948_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1474088889"}], "description": "(Initial planned release date: 2021-04-20)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n\n* Search for tickets with {{fixVersion = \"SERVER 6.15.3\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n* Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-04-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16287", "fixedVersions": ["None"], "id": "16287", "issueType": "Task", "key": "SERVER-2988", "labels": [], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-23T10:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.15.3)", "timeSpent": "PT0S", "updated": "2021-04-23T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T14:14:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17447ce9"}, {"fieldName": "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-10986"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:ii"}, {"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_*:*_88845643_*|*_3_*:*_1_*:*_273906950_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1198907340"}], "description": "(Initial planned release date: 2021-04-20)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-04-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16027", "fixedVersions": ["None"], "id": "16027", "issueType": "Task", "key": "SERVER-2987", "labels": [], "originalEstimate": "PT0S", "parent": "22483", "parentSummary": "Puppet Platform 6.22.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-12T16:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.15.3)", "timeSpent": "PT0S", "updated": "2021-04-15T17:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Rather than disabling promotions, we ended up creating a 2021.1.0-release branch in pe-pse, so we could continue promoting into main without worrying about disrupting the PE release. Instead, this will need to be reverted after PE 2021.1.0 is buttoned up: https://github.com/puppetlabs/ci-job-configs/commit/469362927287b3660cce9aeabe1f99d162845cd1", "created": "2021-04-21T13:26:00.000000"}], "components": [], "created": "2021-03-25T12:39:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c7f2776"}, {"fieldName": "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-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o089rn:c"}, {"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/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11165428_*|*_10007_*:*_1_*:*_2848654_*|*_3_*:*_1_*:*_659238_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2866665387_*|*_10005_*:*_1_*:*_676818511"}], "description": "(Initial planned release date: 2021-04-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-04-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "17513", "fixedVersions": ["None"], "id": "17513", "issueType": "Task", "key": "SERVER-2986", "labels": [], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-05-05T17:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.1.2)", "timeSpent": "PT0S", "updated": "2021-05-05T17:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We ended up creating a 2021.1.0-release branch in pe-pse, so we can continue promoting into main without worrying about disrupting the PE release. Closing this.", "created": "2021-04-21T13:24:00.000000"}], "components": [], "created": "2021-03-25T12:39:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53985400"}, {"fieldName": "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-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:o"}, {"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/Apr/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11151578_*|*_10007_*:*_1_*:*_269930_*|*_3_*:*_1_*:*_286401_*|*_5_*:*_2_*:*_101784143_*|*_10006_*:*_2_*:*_1545133116_*|*_10005_*:*_1_*:*_676841338"}], "description": "(Initial planned release date: 2021-04-20)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-04-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16948", "fixedVersions": ["None"], "id": "16948", "issueType": "Task", "key": "SERVER-2985", "labels": [], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-21T13:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.1.2)", "timeSpent": "PT0S", "updated": "2021-04-21T13:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:39:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5dec24db"}, {"fieldName": "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-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:m"}, {"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_*:*_2_*:*_51200670_*|*_1_*:*_1_*:*_11144940_*|*_3_*:*_2_*:*_5234181_*|*_5_*:*_2_*:*_69392550_*|*_10006_*:*_2_*:*_1628438354_*|*_10005_*:*_1_*:*_676854448"}], "description": "(Initial planned release date: 2021-04-20)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.1.2 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-04-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16626", "fixedVersions": ["None"], "id": "16626", "issueType": "Task", "key": "SERVER-2984", "labels": [], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-22T19:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.1.2)", "timeSpent": "PT0S", "updated": "2021-04-22T19:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:39:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@578abe8a"}, {"fieldName": "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-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:k"}, {"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_*:*_11139883_*|*_10007_*:*_2_*:*_256932797_*|*_3_*:*_2_*:*_510021366_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1044329052_*|*_10005_*:*_1_*:*_676866406"}], "description": "(Initial planned release date: 2021-04-20)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n\n* Search for tickets with {{fixVersion = \"SERVER 7.1.2\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n* Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-04-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16286", "fixedVersions": ["None"], "id": "16286", "issueType": "Task", "key": "SERVER-2983", "labels": [], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-23T10:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.1.2)", "timeSpent": "PT0S", "updated": "2021-04-23T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2021-03-25T12:39:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d4680d2"}, {"fieldName": "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-10975"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:j"}, {"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_*:*_11136498_*|*_3_*:*_1_*:*_11440955_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1030091327_*|*_10005_*:*_1_*:*_676878500"}], "description": "(Initial planned release date: 2021-04-20)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-04-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "estimate": "PT0S", "externalId": "16026", "fixedVersions": ["None"], "id": "16026", "issueType": "Task", "key": "SERVER-2982", "labels": [], "originalEstimate": "PT0S", "parent": "22481", "parentSummary": "Puppet Platform 7.6.0 Release - 2021-04-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2021-04-14T13:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.1.2)", "timeSpent": "PT0S", "updated": "2021-04-15T17:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-03-09T10:10: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@157c7fb6"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91jo"}], "description": "The {{environments}} REST API can list all environments and the {{environments_classes}}/{{environment_modules}} endpoints can provide detailed information about a single environment, but you can't (easily) ask if an environment exists. It'd be helpful if there was a way to do that, such as {{/puppet/v3/environments/<name>}} or\n{{/puppet/v3/environments?environment=<name>}} or\n{{/puppet/v3/environments?include=<name1>,<name2>,...}} ", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15858", "fixedVersions": [], "id": "15858", "issueType": "Improvement", "key": "SERVER-2981", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide the ability to get summary info for a single environment", "timeSpent": "PT0S", "updated": "2022-03-09T09:53:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "There is a manual workaround for this issue:\n# stop the puppetserver service:\n    {{systemctl stop puppetserver}}\n# move your CA directory to the new location:\n    {{mv /etc/puppetlabs/puppet/ssl/ca /etc/puppetlabs/puppetserver/ca}}\n# to maintain backwards compatibility, create a symlink from the new location to the old location:\n    {{ln -sf /etc/puppetlabs/puppetserver/ca /etc/puppetlabs/puppet/ssl/ca}}\n# restart the puppetserver service:\n    {{systemctl start puppetserver}}\n", "created": "2021-03-05T11:25:00.000000"}], "components": [], "created": "2021-03-03T11:51:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28c403e3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:4090000694401"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6896_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_174486313"}], "description": "Created based on an issue surfaced to the puppet-users list: https://groups.google.com/d/msgid/puppet-users/c4627ffb-887d-490e-9dc6-7b730cdf3622n%40googlegroups.com?utm_medium=email&utm_source=footer\n\n*Puppet Version:* 7.4.1\n*Puppet Server Version:* 7.0.3\n*OS Name/Version:* RedHat 7\n\nI'm trying to solve the notification about \"The cadir is currently configured to be inside the /etc/puppetlabs/puppet/ssl directory\".\nWhen I follow the steps, and run:\n\n#  puppetserver ca migrate --config /etc/puppetlabs/puppet/puppet.conf\n\nI get the message: \"Puppetserver service is running. Please stop it before attempting to run this command.\"\n\nIf I then stop the puppetserver service and run the command again, I get the following Error: \"Fatal error when running action 'migrate'\n  Error: Failed connecting to https://xxx.loc:8140/status/v1/simple/ca\n  Root cause: Failed to open TCP connection to xxx.loc:8140 (Invalid argument - connect(2) for \"xxx.loc\" port 8140)\"\n\n---\n\nWhen we check to see if puppetserver is running prior to migrating the CA dir, we [catch and swallow {{Errno::ECONNREFUSED}}|https://github.com/puppetlabs/puppetserver-ca-cli/blob/main/lib/puppetserver/ca/utils/http_client.rb#L184]. This person appears to be getting {{Errno::EINVAL}} instead, so the error is surfaced.\n\nA potential solution would be to loosen which errors we catch, but we should investigate why this is happening in the first place.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17512", "fixedVersions": [], "id": "17512", "issueType": "Bug", "key": "SERVER-2979", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Cannot Reproduce", "resolutionDate": "2021-03-05T12:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA dir migration fails with unexpected error", "timeSpent": "PT0S", "updated": "2021-03-05T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The fixes required to reduce the amount of data retained probably span a few teams. The java.lang.String instances in the incoming and outgoing requests likely fall under the Puppet Server team.\n\nThe extra org.jruby.RubyString copy of the request body, the Puppet::Transaction::Report instance (which is probably a legitimate copy to keep to support multiple report processors), and the extra org.jruby.RubyArray holding log messages could be either Puppet Server or Puppet Agent.\n\nThe remaining org.jruby.RubyHash, and two org.jruby.RubyString copies of the PuppetDB response are issues that likely need to be solved in the PuppetDB report processor.", "created": "2021-03-03T10:55:00.000000"}, {"author": "5b50a69a2726b92cd5368cb3", "body": "benefits - use less heap, fewer tuning and outages. significant gains to this for our customers. ", "created": "2021-04-13T14:09:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "It's possible that PuppetDB fixed some similar issues - [~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] do you happen to know if there's a similar PDB ticket we can reference?", "created": "2021-10-27T11:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We'll re-evaluate how important this ticket is once we have a better understanding of the state of the world with regard to the work PDB has already done.", "created": "2021-10-27T11:30:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "Yeah, PuppetDB has attempted to minimize its number of concurrently retained copies. Currently, when we are sending something to PuppetDB puppetserver will retain 5 copies of the data.\n\n# Java string of the agent's HTTP POST to puppetserver\n# jruby copy of above string\n# Puppet object representing the HTTP string\n# ruby string to POST to PuppetDB\n# java copy of that string to POST to PuppetDB", "created": "2021-10-28T12:19:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The two string copies of the HTTP request body are probably the remaining items to get rid of. As far as I know, nothing needs these to persist for the lifetime of the request once the body has been de-serialized to a Ruby object.", "created": "2021-10-28T13:20:00.000000"}], "components": ["Puppet Server"], "created": "2021-03-03T09:58:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56a44e17"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1500.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0u96ri"}, {"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": "44196,49876"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/21"}], "description": "When processing agent requests such as fact submissions, catalog requests,\nor report uploads, Puppet Server creates several copies of the request data\nas part of processing. However, many of these copies outlive their useful\ncontext and are retained in memory until a response is delivered to the\nclient and the request is closed.\n\nThe following reproduction case examines report submission --- which creates\nat least 7 copies of the request data by the time the report is handed\noff to PuppetDB. This behavior magnifies the impact of large run reports\nand makes it easier for a single agent or group of agents to exhaust the\nmemory available to Puppet Server.\n\nh2. Reproduction Case\n\n  - Install Puppet Server 7 on a CentOS 7 node:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet7-release-el-7.noarch.rpm\nyum install -y puppetserver\nsource /etc/profile.d/puppet-agent.sh\n\npuppet config set server $(hostname -f)\npuppetserver ca setup\n\nsystemctl start puppetserver\n{code}\n\n  - Install PuppetDB 7 and configure it as a report processor:\n\n{code:bash}\npuppet module install puppetlabs-puppetdb\n\npuppet apply <<'EOF'\nclass { 'puppetdb':\n  postgres_version => '11',\n}\n\nclass { 'puppetdb::master::config':\n  enable_reports          => true,\n  manage_report_processor => true,\n}\nEOF\n{code}\n\n  - Next, configure Puppet Server to use one JRuby instance with the default allocation of 512 MB of RAM and configure JRuby to produce extra debugging information in heap dumps:\n\n{code:bash}\npuppet module install puppetlabs-hocon\n\npuppet apply <<'EOF'\nservice { 'puppetserver':\n  ensure => running,\n}\n\nini_subsetting {\n  default:\n    ensure            => present,\n    path              => '/etc/sysconfig/puppetserver',\n    section           => '',\n    key_val_separator => '=',\n    setting           => 'JAVA_ARGS',\n    notify            => Service['puppetserver'],\n  ;\n  'puppetserver min ram':\n    subsetting => '-Xms',\n    value      => '1g',\n  ;\n  'puppetserver max ram':\n    subsetting => '-Xmx',\n    value      => '1g',\n  ;\n  'reify jruby classes':\n    subsetting => '-Djruby.reify.classes',\n    value      => 'true',\n  ;\n  'reify jruby instance variables':\n    subsetting => '-Djruby.reify.variables',\n    value      => 'true',\n  ;\n}\n\n\nhocon_setting { 'puppetserver jruby instances':\n  ensure  => present,\n  path    => '/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf',\n  setting => 'jruby-puppet.max-active-instances',\n  value   => 1,\n  notify  => Service['puppetserver'],\n}\nEOF\n{code}\n\n  - Generate certificates for a test node and configure it to recursively purge a deep directory tree in order to generate a large report:\n\n{code:bash}\ncurl -L https://raw.githubusercontent.com/LLNL/fdtree/master/fdtree.bash -o /usr/local/bin/fdtree\nmkdir -p /tmp/recursion_test\n\n# Create, 1 level, 14 directories per level, 999 files per directory, 0 bytes per file\nbash /usr/local/bin/fdtree -C -l 1 -d 14 -f 999 -s 0 -o /tmp/recursion_test\n\npuppetserver ca generate --certname recursion.test\n\ncat <<'EOF' >/etc/puppetlabs/code/environments/production/manifests/site.pp\nnode default {}\n\nnode 'recursion.test' {\n  file {\"/tmp/recursion_test\":\n    ensure  => directory,\n    recurse => true,\n    purge   => true,\n    noop    => true,\n  }\n}\nEOF\n{code}\n\n  - Install {{mitmproxy}} and configure it to dump the Puppet Server heap when a report is submitted to PuppetDB:\n\n{code:bash}\nyum install -y java-1.8.0-openjdk-devel python3-pip\npip3 install mitmproxy\n\nuseradd --create-home mitmproxy\ncat $(puppet config print hostprivkey) $(puppet config print hostcert) >/home/mitmproxy/cert_bundle.pem\n\n# Allow mitmproxy to execute commands as puppet, to satisfy Java security policies\ncat <<'EOF' >/etc/sudoers.d/mitmproxy\nDefaults:mitmproxy !requiretty\nmitmproxy ALL=(puppet) NOPASSWD: ALL\nEOF\n\ncat <<'EOF' >/home/mitmproxy/dump_heap.py\nimport subprocess\nimport sys\n\ndef request(flow):\n  if flow.request.query['command'] == 'store_report':\n    sys.stderr.write(\"Dumping Puppet Server heap on PuppetDB store_report request.\\n\")\n    subprocess.call(['/usr/bin/sudo',\n                     '-u', 'puppet',\n                     '/bin/bash', '-c',\n                     '/usr/bin/jmap -dump:live,format=b,file=/tmp/$(hostname)-$(date +%Y%m%d%H%M%S).hprof $(systemctl show -p MainPID puppetserver|cut -d= -f2)'])\nEOF\n\ncat <<'EOF' >/etc/systemd/system/mitm-heapdump.service\n[Unit]\nDescription=mitmproxy configured to dump puppetserver heap upon report submission\n\n[Service]\nType=simple\nExecStart=/usr/sbin/runuser -u mitmproxy -- /usr/local/bin/mitmdump --certs /home/mitmproxy/cert_bundle.pem --set client_certs=/home/mitmproxy/cert_bundle.pem --ssl-insecure --mode transparent --listen-port 9000 --scripts /home/mitmproxy/dump_heap.py\nExecStartPost=/usr/sbin/iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner mitmproxy --dport 8081 -j REDIRECT --to-port 9000\nExecStopPost=-/usr/sbin/iptables -t nat -D OUTPUT -p tcp -m owner ! --uid-owner mitmproxy --dport 8081 -j REDIRECT --to-port 9000\nEOF\n\nsystemctl daemon-reload\nsystemctl start mitm-heapdump\n{code}\n\n  - Run {{puppet agent}} to enforce the resource and submit a report (this will take about 5 minutes):\n\n{code:bash}\n# Direct output to /dev/null to avoid spamming the console\npuppet agent -t --certname recursion.test &>/dev/null\n{code}\n\n  - Analyze the {{*.hprof}} file written to {{/tmp}}\n\nh3. Outcome\n\nAt the time data is being handed off to PuppetDB, 8 of the 10 largest objects on the heap are related to the report processing request:\n\n  - A java.lang.String instance containing the HTTP request body submitted by the puppet agent and recieved by Java. The content of this string is UTF-16 encoded, which means it uses twice the memory a UTF-8 encoded string would need to store the same ASCII data. Retains 39,835,016 bytes.\n\n  - A org.jruby.RubyString instance containing a copy of the HTTP request body after conversion from Java to a Puppet::Network::HTTP::Request. Retains 21,909,328 bytes.\n\n  - An org.jruby.RubyHash instance representing the report data after the Puppet::Network::HTTP::Request body is parsed to create a Puppet::Transaction::Report instance. Retains 26,189,328 bytes.\n\n  - An org.jruby.RubyArray instance holding the log entries of the report. Created when the Puppet::Transaction::Report instance is duplicated before processing by PuppetDB. Retains 8,705,088 bytes.\n\n  - An org.jruby.RubyHash instance representing a copy of the report data, transformed by the PuppetDB report processor. Retains 27,387,848 bytes.\n\n  - An org.jruby.RubyString instance created by serializing the above hash to JSON for submission to PuppetDB. Retains 13,334,192 bytes.\n\n  - An org.jruby.RubyString instance created by duplicating the above string and adding some metadata. Used soley  for computing a PuppetDB command checksum. Retains 13,334,272 bytes.\n\n  - A com.puppetlabs.http.client.RequestOptions instance used to make the actual POST request to PuppetDB that contains a copy of the above strings as the request body. The request body in this object is a java.lang.String which also pays the UTF-16 tax. Retains 26,668,368 bytes.\n\nEnd result: a 19,917,508 byte report submission by the agent is magnified to 177,142,440 bytes of memory usage for the Puppet Server by the time the data is handed off to PuppetDB and the request starts closing out --- an overhead of nearly 10x.\n\nh3. Expected Outcome\n\nPuppet Server retains minimal copies of large data blocks while serving agent request.\n\nh3. Engineering outcomes:\n\nDig through this information and create tickets describing any work we can do to streamline this. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14883", "fixedVersions": [], "id": "14883", "issueType": "Bug", "key": "SERVER-2978", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server keeps several redundant copies of request data", "timeSpent": "PT0S", "updated": "2023-03-05T13:03:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["API"], "created": "2021-03-01T13:05: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@5defb7c5"}, {"fieldName": "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": "SERVER-2918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:9i"}, {"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": "42946"}], "description": "*Puppet Version:* 2019.8.4\n*Puppet Server Version:* 2019.8.4\n*OS Name/Version:*  EL 7\n\nDescribe your issue in as much detail as possible\u2026\n\nIf the v4/catalog endpoint on a compiler is used to generate a catalog for a compiler node, it returns an incorrect catalog.  Specifically, the catalog will contain resources that should be confined to a primary server.  This causes CD4PE's impact analysis to return false positives for compilers.\n\nDescribe steps to reproduce\u2026\n\nUse the API to send a catalog compilation request to the compiler for the catalog of the compiler and note that PE primary server related classes are in the returned catalog. \n\n{code:java}\n# cat catalog-gen-from-compiler.sh\n#!/bin/bash\ncurl -s -X POST --cacert $(puppet config print localcacert) https://pe-201984-compiler.puppetdebug.vlan:8140/puppet/v4/catalog -d '{ \"certname\": \"pe-201984-compiler.puppetdebug.vlan\", \"persistence\": { \"facts\": false, \"catalog\": false }, \"environment\": \"production\", \"options\": {\"prefer_requested_environment\": true, \"capture_logs\": true } }' -H \"Content-Type: application/json\" -H \"X-Authentication: $(cat ~/.puppetlabs/token)\" | python -m json.tool \n# ./catalog-gen-from-compiler.sh | grep -c puppet_enterprise::master::code_manager\n58\n{code}\n\nRunning the exact same thing against the primary does not result in these extra classes being included:\n\n{code:java}\n# cat catalog-gen-from-primary.sh\n#!/bin/bash\ncurl -s -X POST --cacert $(puppet config print localcacert) https://pe-201984-primary.puppetdebug.vlan:8140/puppet/v4/catalog -d '{ \"certname\": \"pe-201984-compiler.puppetdebug.vlan\", \"persistence\": { \"facts\": false, \"catalog\": false }, \"environment\": \"production\", \"options\": {\"prefer_requested_environment\": true, \"capture_logs\": true } }' -H \"Content-Type: application/json\" -H \"X-Authentication: $(cat ~/.puppetlabs/token)\" | python -m json.tool\n# ./catalog-gen-from-primary.sh | grep -c puppet_enterprise::master::code_manager\n0\n{code}\n\n*Desired Behavior:*\n\nThe catalog generated by a compiler should be the same as a catalog compiled by a primary server.\n\n*Actual Behavior:*\n\nThe catalog generated by a compiler appears to include additional class data.\n\n---\n\nThe key appears to be the pe_compile_master() function at https://github.com/puppetlabs/puppet-enterprise-modules/blob/main/modules/puppet_enterprise/lib/puppet/parser/functions/pe_compile_master.rb#L38.  When the v4/catalog endpoint is used in this way, that function will return false even when the target is actually a compiler.  This causes the extra classes to get pulled in.\n\nThe v4/catalog endpoint is used by CD4PE for impact analysis.  The incorrect catalog contents being returned causes false positives to show up in reports for compilers when a compiler is used for the impact analysis workload, which is the recommended configuration.", "epicLinkSummary": "V4 Catalog Endpoint Improvements", "estimate": "PT0S", "externalId": "16285", "fixedVersions": [], "id": "16285", "issueType": "Bug", "key": "SERVER-2977", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "14909", "parentSummary": "V4 Catalog Endpoint Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:745ad6f8-2461-4691-9873-549d5904bb16", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "v4/catalog endpoint returns incorrect data for compiler when run against compiler", "timeSpent": "PT0S", "updated": "2022-03-09T09:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-02-25T10:27:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The CA service in puppetserver depends on the JRubyConfig service, because CA settings are still loaded from {{puppet.conf}}, rather than puppetserver's hocon config. In order to be able to reasonably run the CA standalone (e.g. as part of a more granular container workflow, or as a security measure, to run the CA separate from the puppetserver node), we need to remove this dep by moving the CA settings into the HOCON config."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@744b9482"}, {"fieldName": "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": "CA without JRuby"}, {"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": "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|o06tag:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25922925125_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16025", "fixedVersions": [], "id": "16025", "issueType": "Epic", "key": "SERVER-2975", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2021-12-22T11:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA without JRuby", "timeSpent": "PT0S", "updated": "2022-02-22T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-02-23T16:51: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@4f765660"}, {"fieldName": "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": "SERVER-2918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:9c"}], "description": "The indirected v3 catalog endpoint will filter virtual resources via this method: https://github.com/puppetlabs/puppet/blob/main/lib/puppet/indirector/catalog/compiler.rb#L65\n\nFor feature parity we should also filter virtual resources in the v4 endpoint or look to move that functionality into the compiler proper.\n\nQuestion: would moving the logic into the compiler mess with PAL/Bolt usage?", "epicLinkSummary": "V4 Catalog Endpoint Improvements", "estimate": "PT0S", "externalId": "16625", "fixedVersions": [], "id": "16625", "issueType": "Bug", "key": "SERVER-2974", "labels": [], "originalEstimate": "PT0S", "parent": "14909", "parentSummary": "V4 Catalog Endpoint Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "v4 catalog endpoint should filter virtual resources", "timeSpent": "PT0S", "updated": "2022-03-09T09:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4336f142"}, {"fieldName": "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-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dg:"}, {"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_*:*_696269642_*|*_3_*:*_1_*:*_86148871_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1115509644"}], "description": "(Initial planned release date: 2021-03-16)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-03-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "16024", "fixedVersions": [], "id": "16024", "issueType": "Task", "key": "SERVER-2973", "labels": [], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-17T10:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.1.0)", "timeSpent": "PT0S", "updated": "2021-03-17T10:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60e826f2"}, {"fieldName": "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-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070df:"}, {"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_*:*_696279293_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1115513045"}], "description": "(Initial planned release date: 2021-03-16)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-03-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "15489", "fixedVersions": [], "id": "15489", "issueType": "Task", "key": "SERVER-2972", "labels": [], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.1.0)", "timeSpent": "PT0S", "updated": "2021-03-16T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48af41e9"}, {"fieldName": "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-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070de:"}, {"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_*:*_696285431_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1115354903"}], "description": "(Initial planned release date: 2021-03-16)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_main_release/] is the job for main.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.1.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-03-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "15170", "fixedVersions": [], "id": "15170", "issueType": "Task", "key": "SERVER-2971", "labels": [], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T10:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.1.0)", "timeSpent": "PT0S", "updated": "2021-03-16T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3517cbca"}, {"fieldName": "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-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070di:"}, {"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_*:*_696291270_*|*_10007_*:*_1_*:*_410505265_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_705035871"}], "description": "(Initial planned release date: 2021-03-16)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n\n* Search for tickets with {{fixVersion = \"SERVER 7.1.0\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n* Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-03-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "14882", "fixedVersions": [], "id": "14882", "issueType": "Task", "key": "SERVER-2970", "labels": [], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T10:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.1.0)", "timeSpent": "PT0S", "updated": "2021-03-16T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-02-23T10:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47705f72"}, {"fieldName": "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-10930"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dd:"}, {"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_*:*_696296956_*|*_3_*:*_1_*:*_495434562_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_620064282"}], "description": "(Initial planned release date: 2021-03-16)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/main/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to main. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-03-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "estimate": "PT0S", "externalId": "17511", "fixedVersions": [], "id": "17511", "issueType": "Task", "key": "SERVER-2969", "labels": [], "originalEstimate": "PT0S", "parent": "27717", "parentSummary": "Puppet Platform 7.5.0 Release - 2021-03-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2021-03-16T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.1.0)", "timeSpent": "PT0S", "updated": "2021-03-16T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c0977562ab90069f8af22", "body": "Hello Team,\n\nCan someone please guide me on this.\n\nThanks.", "created": "2021-02-26T07:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yes, we have packages for Redhat 8 for that version. You can download these via the release package at http://yum.puppetlabs.com/puppet6-release-el-8.noarch.rpm. The docs at https://puppet.com/docs/puppet/6.21/server/install_from_packages.html are out of date, apologies.", "created": "2021-03-03T11:18:00.000000"}, {"author": "623c0977562ab90069f8af22", "body": "Hello [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69],\n\nThanks a lot for your update.", "created": "2021-03-08T00:09:00.000000"}], "components": [], "created": "2021-02-23T02:50:00.000000", "creator": "623c0977562ab90069f8af22", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a6e4dd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o06qq0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1927241379_*|*_6_*:*_1_*:*_0"}], "description": "Hello Team,\n\n\u00a0\n\nPlease clarify whether its good to proceed with the Puppet Server installation 6.21 on RHEL 8.1\n\nThanks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14923", "fixedVersions": [], "id": "14923", "issueType": "Task", "key": "SERVER-2968", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0977562ab90069f8af22", "resolution": "Fixed", "resolutionDate": "2021-03-17T11:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server Installation on RHEL 8", "timeSpent": "PT0S", "updated": "2021-03-17T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "closing this because we re-decided we don't like subtasks. gonna use the parent ticket instead.", "created": "2021-03-24T14:14:00.000000"}], "components": [], "created": "2021-02-22T10:49: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@219352b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o06pxc:"}, {"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/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_44047_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2600690084"}], "description": "Add details based on the API decisions made in SERVER-2961. Docs for the existing {{certificate_revocation_list}} endpoint: https://github.com/puppetlabs/osp-docs/blob/latest-preview/server/http_certificate_revocation_list.md\n\nDocument how to use the new CRL update endpoint as part of the \"how to setup an intermediate CA\" documentation.  ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14921", "fixedVersions": [], "id": "14921", "issueType": "Sub-task", "key": "SERVER-2967", "labels": [], "originalEstimate": "PT0S", "parent": "15462", "parentSummary": "The CA API should accept CRL updates", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2021-03-24T14:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document CRL update endpoint", "timeSpent": "PT0S", "updated": "2021-03-24T14:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Files sourced from {{puppet:///}} are used in static catalogs, in which the checksum of the file is included in the catalog. If we don't have the resource, we can't create a valid catalog. So this failure is intentional.", "created": "2021-03-03T11:24:00.000000"}, {"author": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] So, can you set it to something like {{notfound}} so that it works the same way as {{http://}} and doesn't cause enterprise-wide levels of panic?", "created": "2021-03-03T11:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:e0340dee-9d48-48c3-8c6a-02597af847c9], do you have a use case for knowingly shipping broken catalogs?\n\nI'd understand if this was a behavior change where we started failing previously passing compilations, but I don't understand the desire to be able to ship more knowingly broken catalogs to agents. Why does failing catalog compilations cause \"enterprise-wide levels of panic\" but not failing agent runs?", "created": "2021-03-17T11:22:00.000000"}, {"author": "557058:7948aec2-bc51-47d8-8a79-7ca9a48364e7", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] I do have a couple of use cases actually!\n\nAs a security officer, I would like my security settings to be applied to my system regardless of whether or not someone made a boneheaded mistake with a file being sourced from my puppet server.\n\nAs a puppet user, I would like the {{source}} parameter of the {{file}} resource to behave consistently regardless of the actual source being referenced.\n\nAs a puppet user, I would like as much of my catalog to apply as possible regardless of a failure in a single resource (the default behavior).", "created": "2021-03-19T07:44:00.000000"}, {"author": "557058:7948aec2-bc51-47d8-8a79-7ca9a48364e7", "body": "I guess a corollary to this is that I would like file sources to be deferred until runtime and be able to use another server for content.\n\nThe usual operation would be:\n * Local checksum\n * Request file metadata from wherever\n * Validate and download if necessary\n\nMoving to this model would allow for better leveling across the board and open up the system to using Nexus, WebDAV, a failover puppet server, or whatever.", "created": "2021-03-19T07:48:00.000000"}, {"author": "557058:7948aec2-bc51-47d8-8a79-7ca9a48364e7", "body": "To the comment from [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] about static catalogs", "created": "2021-03-19T07:59:00.000000"}], "components": ["Puppet Server"], "created": "2021-02-19T12:08:00.000000", "creator": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@645d023e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o06pa0:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Mar/21"}], "description": "*Puppet Version: All*\n *Puppet Server Version: All*\n *OS Name/Version: All*\n\nCompilation of the puppet catalog should not fail if there is a missing artifact that is sourced by a {{file}} resource via the {{source}} parameter being set to {{puppet:///...}}.\n\nIn contrast, sourcing the file from {{http://}} will not fail the entire catalog compilation.\n\nThis can be worked around by using {{sourceselect => 'all'}} but the default behavior of completely failing the compilation if the artifact is not present on the server seems incorrect to me.\n\n*Desired Behavior:*\n\nAs much of the catalog as is viable should be applied regardless of whether or not the file is present on the server.\n\n*Actual Behavior:*\n\nThe catalog fails to compile.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15857", "fixedVersions": [], "id": "15857", "issueType": "Bug", "key": "SERVER-2966", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0340dee-9d48-48c3-8c6a-02597af847c9", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet should not fail compilation if a file is missing from a module", "timeSpent": "PT0S", "updated": "2021-03-19T07:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Do we think this needs release notes? I'm not sure how much we've generally documented this endpoint.", "created": "2021-02-23T16:24:00.000000"}], "components": [], "created": "2021-02-18T21:52: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@57ee9264"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o06oj4:"}, {"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": "23/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_74548549_*|*_1_*:*_1_*:*_387799245_*|*_10007_*:*_1_*:*_155318_*|*_3_*:*_1_*:*_24299506_*|*_5_*:*_1_*:*_0"}], "description": "The catalog v3 endpoint rejects requests whose environment is an empty string, due to https://github.com/puppetlabs/puppet/blob/c6412ea369aa1613ca166b10fb819fcf6130814b/lib/puppet/node/environment.rb#L127\n\nFor example:\n\n{noformat}\n$ curl -ks --key ~/.puppetlabs/etc/puppet/ssl/private_keys/localhost.pem --cert ~/.puppetlabs/etc/puppet/ssl/certs/localhost.pem https://localhost:8140/puppet/v3/catalog/localhost\\?environment\\=\"\"\nThe environment must be purely alphanumeric, not ''\n{noformat}\n\nThe catalog v4 endpoint does not, and instead returns an empty catalog:\n\n{noformat}\ncurl \\\n -sk \\\n -d \"{ \\\"certname\\\":\\\"localhost\\\",\\\"options\\\":{\\\"prefer_requested_environment\\\":true},\\\"persistence\\\":{\\\"facts\\\":false,\\\"catalog\\\":false},\\\"environment\\\":\\\"\\\",\\\"facts\\\":{\\\"values\\\": {}}}\" \\\n -H 'Content-Type: application/json' \\\n -H 'Accept: application/json' \\\n --key ~/.puppetlabs/etc/puppet/ssl/private_keys/localhost.pem \\\n --cert ~/.puppetlabs/etc/puppet/ssl/certs/localhost.pem \\\n https://localhost:8140/puppet/v4/catalog\n{\"catalog\":{\"tags\":[\"settings\"],\"name\":\"localhost\",\"version\":1613709770,\"code_id\":null,\"catalog_uuid\":\"3d264ed9-af23-45d9-afcb-9b09584f1714\",\"catalog_format\":1,\"environment\":\"\",\"resources\":[{\"type\":\"Stage\",\"title\":\"main\",\"tags\":[\"stage\"],\"exported\":false,\"parameters\":{\"name\":\"main\"}},{\"type\":\"Class\",\"title\":\"Settings\",\"tags\":[\"class\",\"settings\"],\"exported\":false},{\"type\":\"Class\",\"title\":\"main\",\"tags\":[\"class\"],\"exported\":false,\"parameters\":{\"name\":\"main\"}}],\"edges\":[{\"source\":\"Stage[main]\",\"target\":\"Class[Settings]\"},{\"source\":\"Stage[main]\",\"target\":\"Class[main]\"}],\"classes\":[\"settings\"]}}\n{noformat}\n\nI can see puppetserver tries to load non-existent files. Presumably puppet is doing the equivalent of {{File.join(Puppet[:basemodulepath], \"\", \"manifests\")}}\n\n{noformat}\n~/.puppetlabs/etc/code/environments/environment.conf\n~/.puppetlabs/etc/code/environments/manifests\n{noformat}\n\nAnd due to a puppet bug (See PUP-10852) the parser does not complain about the {{manifests}} directory not existing. Instead it compiles an empty catalog.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15169", "fixedVersions": ["SERVER 6.15.3", "SERVER 7.1.0"], "id": "15169", "issueType": "Bug", "key": "SERVER-2965", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2021-02-24T13:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The catalog v4 endpoint should reject an empty string environment", "timeSpent": "PT0S", "updated": "2021-03-11T14:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "closing this because we re-decided we don't like subtasks. gonna use the parent ticket instead.", "created": "2021-03-24T14:12:00.000000"}], "components": [], "created": "2021-02-11T11:01: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@630ff291"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o06ja0:"}, {"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/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_519889129_*|*_3_*:*_2_*:*_755295406_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2099228893_*|*_10005_*:*_1_*:*_175881947"}], "description": "Acceptance criteria:\n\n* HTTPS endpoint in the [puppet-ca/v1|https://github.com/puppetlabs/puppetserver/blob/9cb1073394f22ad14487992d3af34ca33e0b3b5e/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L373] API that receives a POST to consume CRL updates on the /certificate_revocation_list resource.\n* Should use the same tk-auth rules as the existing CA admin endpoints.\n* Writes a new [CRL file|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L467] (given chain + local CA CRL) to be used by the server & CA. All uses should be satisfied by writing the CRLs to disk at the location the CA writes it during revocations.\n** Including the [infra-crl|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1521-L1533] pem.\n* Should not cause race conditions with existing revocations (utilizes existing CRL [write lock|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L346]).\n* Logs that it has received CRLs and updated the CRL file at INFO level.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16624", "fixedVersions": [], "id": "16624", "issueType": "Sub-task", "key": "SERVER-2961", "labels": [], "originalEstimate": "PT0S", "parent": "15462", "parentSummary": "The CA API should accept CRL updates", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Duplicate", "resolutionDate": "2021-03-24T14:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Implement CA API to take updated upstream CRLs", "timeSpent": "PT0S", "updated": "2021-03-24T14:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "rk:6d5ede63-cd1a-4ed1-9c03-7afa59c5908e", "created": "2021-02-04T06:45:00.000000", "name": "openj9_error.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11011"}], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "The error you're encountering is happening when the leiningen tool attempts to install itself, well before anything specific to puppet occurs. There's a bug reported against that project [on github|https://github.com/technomancy/leiningen/issues/2725] which mentions the specific line numbers that are in your log, though that appears to be closed in favor of being a bug at some lower level library or j9 itself.\n\nThat said, we don't support openj9 and don't currently have any plans to.", "created": "2021-02-17T13:42:00.000000"}], "components": ["Puppet Server"], "created": "2021-02-04T07:51:00.000000", "creator": "623a47e094742a00683d6fe0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5f7a6efc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o06d6w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1144291508_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.3.0*\n *Puppet Server Version: 7.0.2*\n *OS Name/Version: Ubuntu 18.04*\n\n*Desired Behavior:*\u00a0\n\nThe build should proceed successfully using AdoptJDK11 with openj9.\n\n*Actual Behavior:*\n\nThe build failed with the log attached below.\n\nSteps to reproduce the issue:\n{code:java}\nsudo apt-get update\nsudo apt-get install -y g++ tar git make wget locales locales-all unzip ruby-dev ant zip\nsudo -E env PATH=\"$PATH\" gem install bundler rake-compiler\n\ncd ~\nwget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9_openj9-0.24.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz\ntar -xf OpenJDK11U-jdk_x64_linux_openj9_11.0.10_9_openj9-0.24.0.tar.gz\nexport JAVA_HOME=~/jdk-11.0.10+9\nexport PATH=$JAVA_HOME/bin:$PATH\n\nwget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein\nchmod +x lein\nsudo mv lein /usr/bin/\n\ngit clone --recursive --branch 7.0.2 git://github.com/puppetlabs/puppetserver\ncd puppetserver\nexport LANG=\"en_US.UTF-8\" && ./dev-setup\n{code}\nWhen following the same process with other JDK variants including OpenJDK11 and AdoptOpenJDK with hotspot, the build is successful. So the NullPointerException issue only arises with this particular JDK variant (AdoptJDK11 with openj9).\n\n\u00a0It will be really helpful if we could support this JDK variant as it tends to provide better performance in general.", "environment": "Ubuntu 18.04 on x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16022", "fixedVersions": [], "id": "16022", "issueType": "Bug", "key": "SERVER-2960", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a47e094742a00683d6fe0", "resolution": "Won't Fix", "resolutionDate": "2021-02-17T13:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server fails to build using AdoptOpenJDK11 with Openj9", "timeSpent": "PT0S", "updated": "2021-02-17T13:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:20:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@bf349bb"}, {"fieldName": "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-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:w"}, {"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_*:*_252793190_*|*_10007_*:*_1_*:*_97769622_*|*_3_*:*_1_*:*_7228694_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1364191154"}], "description": "(Initial planned release date: 2021-02-09)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "16063", "fixedVersions": [], "id": "16063", "issueType": "Task", "key": "SERVER-2958", "labels": [], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-18T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.0.3)", "timeSpent": "PT0S", "updated": "2021-02-18T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:20:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a4ed31e"}, {"fieldName": "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-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:s"}, {"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_*:*_252836907_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_260003068"}], "description": "(Initial planned release date: 2021-02-09)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "15488", "fixedVersions": [], "id": "15488", "issueType": "Task", "key": "SERVER-2957", "labels": [], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.0.3)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:20:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27c36145"}, {"fieldName": "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-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:o"}, {"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_*:*_252849555_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_259987924"}], "description": "(Initial planned release date: 2021-02-09)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.0.3 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "15168", "fixedVersions": [], "id": "15168", "issueType": "Task", "key": "SERVER-2956", "labels": [], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.0.3)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The release notes for this should include that a general note that we updated various dependencies to pick up some security fixes.", "created": "2021-02-01T12:21:00.000000"}], "components": [], "created": "2021-01-29T17:20:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e0a2ab3"}, {"fieldName": "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-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:l"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_252867512_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_259967418"}], "description": "(Initial planned release date: 2021-02-09)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n\n* Search for tickets with {{fixVersion = \"SERVER 7.0.3\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n* Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-02-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "14918", "fixedVersions": [], "id": "14918", "issueType": "Task", "key": "SERVER-2955", "labels": [], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.0.3)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:20:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fa51458"}, {"fieldName": "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-10874"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:i"}, {"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_*:*_252881980_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_259951275"}], "description": "(Initial planned release date: 2021-02-09)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-02-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "17509", "fixedVersions": [], "id": "17509", "issueType": "Task", "key": "SERVER-2954", "labels": [], "originalEstimate": "PT0S", "parent": "27693", "parentSummary": "Puppet Platform 7.4.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.0.3)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2afb8ecb"}, {"fieldName": "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-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:f"}, {"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_*:*_253279513_*|*_10007_*:*_1_*:*_97759698_*|*_3_*:*_1_*:*_7219640_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1364108530"}], "description": "(Initial planned release date: 2021-02-09)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-02-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "17249", "fixedVersions": [], "id": "17249", "issueType": "Task", "key": "SERVER-2953", "labels": [], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-18T15:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.15.1)", "timeSpent": "PT0S", "updated": "2021-02-18T15:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2dc49d82"}, {"fieldName": "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-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:c"}, {"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_*:*_253295787_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_259922694"}], "description": "(Initial planned release date: 2021-02-09)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "16623", "fixedVersions": [], "id": "16623", "issueType": "Task", "key": "SERVER-2952", "labels": [], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.15.1)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7799382"}, {"fieldName": "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-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:9"}, {"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_*:*_253326253_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_259890074"}], "description": "(Initial planned release date: 2021-02-09)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.15.1 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-02-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "16284", "fixedVersions": [], "id": "16284", "issueType": "Task", "key": "SERVER-2951", "labels": [], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.15.1)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The release notes for this should include that a general note that we updated various dependencies to pick up some security fixes.", "created": "2021-02-01T12:20:00.000000"}], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f87d76c"}, {"fieldName": "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-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:6"}, {"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/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_253317973_*|*_3_*:*_1_*:*_191758964_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_68132010"}], "description": "(Initial planned release date: 2021-02-09)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md]. The osp docs repo usually has a {{<platform release>-preview}} branch. If releasing the latest version of the platform the osp docs branch will be {{latest-preview}}.\n\n* Search for tickets with {{fixVersion = \"SERVER 6.15.1\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] or [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] in the opened PR - give them at least two days prior to the go/no-go meeting to review.\n* Docs controls the release schedule. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-02-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "16060", "fixedVersions": [], "id": "16060", "issueType": "Task", "key": "SERVER-2950", "labels": [], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.15.1)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-29T17:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@700928ff"}, {"fieldName": "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-10864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0678v:3"}, {"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_*:*_253193468_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_260023308"}], "description": "(Initial planned release date: 2021-02-09)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n\n* If there is concern about new PRs, promotions, or mergeups happening after reconciliation, create a release branch and release branch pipeline in ci-job-configs.\n", "duedate": "2021-02-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "estimate": "PT0S", "externalId": "15721", "fixedVersions": [], "id": "15721", "issueType": "Task", "key": "SERVER-2949", "labels": [], "originalEstimate": "PT0S", "parent": "21329", "parentSummary": "Puppet Platform 6.21.0 Release - 2021-02-09\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2021-02-04T15:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.15.1)", "timeSpent": "PT0S", "updated": "2021-02-04T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "There are also vulnerabilities in {{guava}} and {{google-closure-library}} that this lib brings in, so we should probably get to this sooner rather than later if we don't want to pin a ton of things.", "created": "2021-06-04T17:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This is looking like a good alternative: https://github.com/lambdaisland/uri\nI was pretty easily able to just sub that in, since we're only using this in a test.", "created": "2021-06-07T12:35:00.000000"}], "components": [], "created": "2021-01-28T00:34: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@405d37b1"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a4"}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_399710773_*|*_3_*:*_1_*:*_1242868_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10871920668"}], "description": "As part of the recent security scan (see SEC-274), {{protobuf-java}} was flagged as having a vulnerability. Froyo's projects pull in this dep as part of {{cemerick/url}}, a defunct library used for URL handling in our tests.\n\nSince this is a testing-only dependency, it's likely we're not actually vulnerable to the security issue, but in the interest of getting clean scans in the future and moving away from orphaned libraries, we should see what it would take to remove use of {{cemerick/url}} from our tests.\n\nUses:\nhttps://github.com/puppetlabs/puppetserver/blob/6.x/test/integration/puppetlabs/services/jruby/jruby_metrics_service_test.clj", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17508", "fixedVersions": ["None"], "id": "17508", "issueType": "Task", "key": "SERVER-2959", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2021-06-07T12:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "[SPIKE] Remove use of cemerick/url to avoid CVEs", "timeSpent": "PT0S", "updated": "2021-06-07T12:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2021-01-27T14:06:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56542306"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0678o:"}, {"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_*:*_100569451_*|*_1_*:*_1_*:*_36511_*|*_10007_*:*_1_*:*_3790308_*|*_3_*:*_1_*:*_94736749_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_6026"}], "description": "[Updating our ring dependencies|https://github.com/puppetlabs/clj-parent/commit/a49a69ba2d145181b90c2b03913be0c0ad07bc57] introduced failures in the puppetserver pipeline:\n* https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/6.x/job/platform_puppetserver_integration-system_no-conditional_puppet5-compat_6.x/55/LAYOUT=redhat7-64ma-64a,LDAP_TYPE=default,label=k8s-beaker/console\n{code:java}\n13:15:22 Errored Tests Cases:\n13:15:22   Test Case acceptance/suites/compat_tests/020_backwards_compat/binary_file_test.rb reported: #<Beaker::Host::CommandFailure: Host 'kind-retrospect.delivery.puppetlabs.net' exited with 2 running:\n13:15:22  diff /tmp/binary_file_test.8JBFDn/binary-file-old /tmp/binary_file_test.8JBFDn/binary-file-backup\n13:15:22 Last 10 lines of output were:\n13:15:22 \tBinary files /tmp/binary_file_test.8JBFDn/binary-file-old and /tmp/binary_file_test.8JBFDn/binary-file-backup differ>\n13:15:22     Test line: acceptance/suites/compat_tests/020_backwards_compat/binary_file_test.rb:24:in `block (3 levels) in run_test'\n{code}\n\n* https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/6.x/job/platform_puppetserver_integration-system_no-conditional_full-6.x/56/LAYOUT=redhat7-64ma-64a,LDAP_TYPE=default,label=k8s-beaker/console\n{code:java}\n13:55:07 Failed Tests Cases:\n13:55:07   Test Case ruby/puppet/acceptance/tests/catalog_with_binary_data.rb reported: #<Beaker::DSL::Outcomes::FailTest: \n13:55:07 Binary file did not contain originally specified data.\n13:55:07 Expected /c0\\nff/ to match \"c3\\n80\\nc3\\nbf\\na\\n\".\n13:55:07 >\n13:55:07     Test line: ruby/puppet/acceptance/tests/catalog_with_binary_data.rb:61:in `block (3 levels) in run_test'\n{code}\n\nWe narrowed it down to the ring-servlet dependency. The breaking change was introduced somewhere [between versions 1.5.1 and 1.6.0-beta4|https://github.com/ring-clojure/ring/compare/1.5.1...1.6.0-beta4] (I couldn't test 1.6.0-beta1-3 with ring-core 1.8.2 because they [changed a method name|https://github.com/ring-clojure/ring/blob/master/CHANGELOG.md#160-beta4-2016-07-13]).\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15167", "fixedVersions": ["SERVER 6.15.1", "SERVER 7.0.3"], "id": "15167", "issueType": "Bug", "key": "SERVER-2948", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2021-01-29T21:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "ring update causes failures in binary file tests", "timeSpent": "PT0S", "updated": "2021-01-29T21:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2021-01-25T12:00:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2682babb"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:9"}], "description": "Currently, the [puppetserver mergeup|https://github.com/puppetlabs/ci-job-configs/blob/master/resources/scripts/puppetserver-mergeup.sh] script does not handle conflicts in project.clj.\n\nIt probably should, at least for conflicts around {{ps-version}}.\n\nWe should decide if we want to update the embedded merge driver script in cjc or if we want to do the same thing we do for [pe-pse|https://github.com/puppetlabs/pe-puppet-server-extensions/blob/2019.8.x/jenkins/mergeup.sh] and put the merge driver script in the puppetserver repo. The latter might be more work, but I think is probably better in the long run.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15720", "fixedVersions": [], "id": "15720", "issueType": "Improvement", "key": "SERVER-2947", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver mergeup should handle project.clj", "timeSpent": "PT0S", "updated": "2022-03-09T08:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-01-22T10:44: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@553afa30"}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-3178"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0k8ri253"}, {"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": "42685,45251,46090"}], "description": "*Description*\nJrubies can be borrowed for extended periods of time, while the client-side has long since moved past the original request. This can unnecessarily occupy a Jruby for long times and potentially cause conflicts with file-sync locks. It would be nice to have a timeout or maximum borrow time for a Jruby to prevent a situation where this could occur. \n\n*Desired Behavior*\nA JRuby should timeout after 60 minutes of being borrowed. The timeout should be configurable. \n\n*Actual Behavior*\nThe JRuby is borrowed until the request is fully processed, which can be an indefinite amount of time. I recently saw one consumed for 28 days, which is well beyond the default 60 minute runtimeout of the agent run that made the request.\n\n*Additional Notes*\n\nIf it is not possible to set a timeout for an individual request, is it possible to set a time based lifetime for the JRuby similar to {{max-requests-per-instance}}?", "epicLinkSummary": "Puppet Server configurable timeouts", "estimate": "PT0S", "externalId": "17247", "fixedVersions": [], "id": "17247", "issueType": "Improvement", "key": "SERVER-2946", "labels": ["jira_escalated", "low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16647", "parentSummary": "Puppet Server configurable timeouts", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide a way to timeout a JRuby instance", "timeSpent": "PT0S", "updated": "2022-03-09T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2021-01-21T13:22:00.000000", "creator": "557058:21c1957c-b7fb-4b38-968c-7f18ab046d3a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ccd6eb8"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91"}], "description": "Java Memory settings cannot be changed, when running Puppet Server in the Docker Image. Setting for example:\n\nPUPPETSERVER_JAVA_ARGS=\"-Xms2048m -Xmx2048m\"\u00a0\n\nwhen creating the Docker container (docker-compose using Pupperware) results a message from Java \"invalid initial Heap memory size\".\n\nIt seems that the\u00a0PUPPETSERVER_JAVA_ARGS are added in addition to the preexisting \"-Xms512m -Xmx512m\" parameters resulting in this error.\n\nEntering the container (using docker exec ... bash) and changing /etc/default/puppetserver to JAVA_ARGS=\"-Xms2048m -Xmx2048m\" results a correctly starting puppetserver.\n\nBut it should be possible to change these settings using\u00a0PUPPETSERVER_JAVA_ARGS on docker container build time.\n\nTested against \"latest\" puppetserver:\n\nhttps://hub.docker.com/layers/puppet/puppetserver/latest/images/sha256-184abc8290e81a0bbe7c71da41a20a1498586a9b6adafe553610d10425e8b6ef?context=explore\n\n\u00a0", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "17244", "fixedVersions": [], "id": "17244", "issueType": "Bug", "key": "SERVER-2945", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:21c1957c-b7fb-4b38-968c-7f18ab046d3a", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver in Docker Environment - JAVA_ARGS cannot change Java memory settings", "timeSpent": "PT0S", "updated": "2022-03-09T09:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "On the agent side, if the {{include_system_store}} option is true, then puppet will trust CA certs in the puppet-agent CA bundle. In addition, if {{Puppet[:ssl_trust_store]}} refers to a file, such as {{/etc/pki/tls/cert.pem}}, then the agent will include those CA certs as well.", "created": "2021-06-03T10:45:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:63d40628f6e1b543161789a7] , I have a shot at this up here: [https://github.com/puppetlabs/puppetserver/pull/2631]\n\nIn it if {{include_system_store}} is true I will include the java keystore shipped at {{/opt/puppetlabs/puppet/ssl/puppet-cacerts}} and if {{Puppet[:ssl_trust_store]}} is set to a path and that path is a file, will attempt to load it as either a list of certs like our own CA chain, or a java keystore.\n\nDoes that sound like the correct behavior?", "created": "2022-04-21T16:31:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}\nif\u00a0{{Puppet[:ssl_trust_store]}}\u00a0is set to a path and that path is a file, will attempt to load it as either a list of certs like our own CA chain, or a java keystore.\n{quote}\n\nAll sounds good with one comment. Since it's a puppet setting and the agent doesn't understand java keystores, I think it's safe to assume it *must* be a file containing concatenated PEM files. Trying to set it to a keystore would cause the local agent to misbehave.\n\nAlso note the agent will ignore the setting if it points to something other than a file or if the file is empty (due to a weird ruby/openssl issue): https://github.com/puppetlabs/puppet/blob/d894861565aa95bd6f4f1cb85fe44ab62cc37854/lib/puppet/ssl/ssl_provider.rb#L77\u00a0", "created": "2022-04-27T11:36:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Can this be resolved?", "created": "2022-05-17T17:09:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "No, it's still going through main CI, waiting on a cert bundle update in puppet-runtime for the test.", "created": "2022-05-17T17:16:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No, it hasn't finished promoting into PE because of some other agent related cert issues. I apparently need to do a manual release of the {{puppet-ca-bundle}} project and bump it in {{puppet-runtime}} and have that promote into puppet-agent & PE before the last test will pass.", "created": "2022-05-17T17:16:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "ahh gotcha, thanks!", "created": "2022-05-17T17:32:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]can you add some release notes to this? /cc [~accountid:60e4906e4134aa006931a5d6]", "created": "2022-05-24T11:07:00.000000"}], "components": [], "created": "2021-01-19T16:15: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@1bf62c34"}, {"fieldName": "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": "SERVER-3019"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi0m:f"}, {"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": "Puppet Server's Ruby HTTP client now supports loading certificates from the system trust store that is included with Puppet Agent, as well as loading certs from a file or Java cert store at an arbitrary location via the `ssl_trust_store` setting."}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1105026365_*|*_1_*:*_1_*:*_850479903_*|*_10007_*:*_1_*:*_1726914839_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_38631505447"}], "description": "The Puppet HTTP client API accepts an {{include_system_store}} option to its HTTP methods (e.g. {{get}}, {{post}}). When true, this option should cause the request to use an SSL context containing certificates from the system store.\n\nIn SERVER-2943, made the clj-http-client understand how to create an SSL context with system certs in it. We need to plumb this flag through from the [request options|https://github.com/puppetlabs/puppetserver/blob/1b699a076dfa3c2e85c98defeb421a0af6d5d4e0/src/ruby/puppetserver-lib/puppet/server/http_client.rb#L56-L79] to the underlying clj-http-client, where we [load the store|https://github.com/puppetlabs/clj-http-client/blob/ec78805007db944b0ef7b4e4212d4969d7d8d0a4/src/java/com/puppetlabs/http/client/impl/SslUtils.java#L27-L31], and have it load the new store with system certs instead.\n\nTesting: We expect this to be tested sufficiently at the clojure integration level. ", "epicLinkSummary": "Use System cert store", "estimate": "PT0S", "externalId": "16947", "fixedVersions": ["SERVER 6.20.0", "SERVER 7.8.0"], "id": "16947", "issueType": "Task", "key": "SERVER-2944", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "16633", "parentSummary": "Use System cert store", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2022-05-24T11:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make puppetserver http client respect `include_system_store` option", "timeSpent": "PT0S", "updated": "2022-07-25T10:36:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] will re-split up this work based on discussion in grooming.", "created": "2021-01-22T12:25:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Agreed. This has come up several times recently and might be one of the things that is worth doing.", "created": "2022-03-08T14:09:00.000000"}, {"author": "61af86343618cd006f430854", "body": "dupe of SERVER-2944", "created": "2022-04-27T11:13:00.000000"}], "components": [], "created": "2021-01-19T15:48: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@28920a93"}, {"fieldName": "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": "SERVER-3019"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0fi0m:c"}, {"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/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_851276314_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_3034546575_*|*_10006_*:*_2_*:*_36097272261"}], "description": "Currently, jvm-ssl-utils can only [create SSL contexts|https://github.com/puppetlabs/jvm-ssl-utils/blob/master/src/java/com/puppetlabs/ssl_utils/SSLUtils.java#L1057-L1069] that have Puppet's internal certs and keys added. Users want to be able to use an SSLContext that also trusts certificates in the system keystore. Puppet's new HTTP client API provides a flag, {{include_system_store}}, that should enable this mode.\n\nWe need to change the spot where we [create our SSL context|https://github.com/puppetlabs/clj-http-client/blob/ec78805007db944b0ef7b4e4212d4969d7d8d0a4/src/java/com/puppetlabs/http/client/impl/SslUtils.java#L27-L31] to optionally allow including certs from the system store (in addition to the Puppet certs). These are installed with puppet-agent as a bundle to {{/opt/puppetlabs/puppet/ssl/cert.pem}}. This may or may not require updates to jvm-ssl-utils.\n\nIn order to facilitate testing, this should be implemented so that the path to the certs is configurable, and doesn't try to just hard-code the location of the additional certs to be loaded.", "epicLinkSummary": "Use System cert store", "estimate": "PT0S", "externalId": "14916", "fixedVersions": [], "id": "14916", "issueType": "Task", "key": "SERVER-2943", "labels": [], "originalEstimate": "PT0S", "parent": "16633", "parentSummary": "Use System cert store", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2022-04-27T11:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow clj-http-client to optionally load system stores from agent's bundle", "timeSpent": "PT0S", "updated": "2022-04-27T11:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5f98fb568405b10077498a2e", "body": "Here is an example summary from a CentOS 7 node with Puppet 6.19.1:\n{noformat}\n$ time puppet agent -td --profile --summarize\n...\nNotice: Applied catalog in 567.89 seconds\nChanges:\n            Total: 15\nEvents:\n          Success: 15\n            Total: 15\nResources:\n   Corrective change: 13\n          Changed: 14\n      Out of sync: 14\n            Total: 1292\nTime:\n        Resources: 0.00\n         Ssl pkey: 0.00\n        Mailalias: 0.00\n         Schedule: 0.00\n        Swap file: 0.00\n             Host: 0.00\n             Cron: 0.00\n            Mount: 0.00\n        X509 cert: 0.00\n      Concat file: 0.00\n     X509 request: 0.00\n           Notify: 0.00\n           Anchor: 0.00\n           Sysctl: 0.00\n   Sysctl runtime: 0.00\n          Yumrepo: 0.01\n        File line: 0.01\n   Kernel parameter: 0.02\n   Concat fragment: 0.02\n   Ssh authorized key: 0.03\n            Group: 0.04\n       Selboolean: 0.11\n             User: 0.19\n              Pam: 0.27\n     Alternatives: 0.28\n         Firewall: 0.81\n          Java ks: 1.56\n     Startup time: 1.69\n         Last run: 1610124104\n             Exec: 24.52\n          Service: 3.65\n        Selmodule: 32.85\n             File: 480.14\n   Convert catalog: 5.03\n   Config retrieval: 56.11\n   Transaction evaluation: 567.60\n   Catalog application: 567.89\n       Filebucket: 0.00\n   Node retrieval: 69.47\n          Package: 7.15\n   Fact generation: 7.59\n      Plugin sync: 73.79\n           Augeas: 9.62\n            Total: 782.32\nVersion:\n           Puppet: 6.19.1\n           Config: server-environment-674b6668d9e\n\nreal    15m31.909s\nuser    1m21.789s\nsys     0m19.356s\n{noformat}", "created": "2021-01-08T09:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We think this might be the same issue as in https://puppet.atlassian.net/browse/PUP-10856, does that look likely to you? If so, it's fixed in Puppet 7.4, which is going out in the next couple weeks.", "created": "2021-02-01T16:39:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're going to close this in light of the recent release, please reopen if you're still seeing the issue.", "created": "2021-03-03T11:29:00.000000"}], "components": ["Puppet Server"], "created": "2021-01-08T09:29:00.000000", "creator": "5f98fb568405b10077498a2e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@230132f7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o05stc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4672811217_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 7.0.1 and 6.x including 6.19.1*\n *Puppet Server Version: 7.0.1*\n *OS Name/Version: CentOS\u00a07.9.2009*\n\nWe recently upgraded puppet server 7 and puppet db latest via yum.\u00a0 Immediately, agent runs went from taking ~1 min to >15 min.\u00a0 We rolled back to the previous RPMs and agent run times went back to normal.\n\nLater, we performed the same yum update again and see the same drastic increase.\u00a0 The server usually runs in SELinux enforcing mode with auditd running.\u00a0 We have disabled both of those but the times remain very high.\u00a0 Server load and memory use do not seem to be affected.\n\n*Desired Behavior:*\n\nPuppet agent runs with a puppetserver v7 run with similar speeds as with v6.\n\n*Actual Behavior:*\n\nWe have run the agent with a few different diagnostic levels:\n * puppet agent -td --profile --summarize\n * puppet agent -td --evaltrace\n\nBoth of these indicate File resources are taking a very long time.\u00a0 I have seen many online threads and even historical puppet issues that address this but none of the posts helped me ID the root cause and solution.\n\nWe had been using the default environment_timeout (0) in previous versions because we didn't know any better.\u00a0 After reading some tuning guides this week, we have tested with {{environment_timeout = unlimited}}.\u00a0 This does not seem to help.\n\nWe have disconnected puppetdb from the puppetserver but this did not help.\n{noformat}\n$ rpm -qa | grep ^puppet | sort\npuppet-agent-7.1.0-1.el7.x86_64\npuppet-agent-oauth-0.5.1-3.el7.noarch\npuppet-bolt-2.40.2-1.el7.x86_64\npuppetdb-7.0.1-1.el7.noarch\npuppetdb-termini-7.0.1-1.el7.noarch\npuppetserver-7.0.1-1.el7.noarch{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17506", "fixedVersions": [], "id": "17506", "issueType": "Bug", "key": "SERVER-2942", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f98fb568405b10077498a2e", "resolution": "Fixed", "resolutionDate": "2021-03-03T11:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Very slow agent runs (particularly file resources) after puppet server upgrade from 6 to 7", "timeSpent": "PT0S", "updated": "2021-03-03T11:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think you're right, this can probably be removed. We weren't able to use jrjackson at the end of the day.", "created": "2021-03-17T11:20:00.000000"}], "components": [], "created": "2020-12-29T14:16:00.000000", "creator": "5cf96166b7268e0e7bb41131", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@588fde96"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o05nxs:"}, {"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": "17/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_438504345_*|*_1_*:*_1_*:*_6725011777_*|*_10007_*:*_1_*:*_52364800_*|*_3_*:*_1_*:*_24172771_*|*_5_*:*_1_*:*_0"}], "description": "Hello!\n\nI've been working on packaging puppetserver in Debian and it seems to me the dependency on [com.fasterxml.jackson.module/jackson-module-afterburner] in puppetserver's project.clj is not required.\n\nWhile researching this issue, I found out it was added as part of the move to jrjackson. AFAICT, you decided not to use jrjackson. Thus, this dependency shouldn't be required.\n\nThe commit that added this dep is [https://github.com/puppetlabs/puppetserver/commit/2b2baa843ee563f0e5427aa837274a6c93ade536]\n\nIt references (SERVER-2098), but I find the following PR on github much clearer to why it was added:\n\nhttps://github.com/puppetlabs/puppetserver/pull/1647#issuecomment-371907691", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15268", "fixedVersions": ["SERVER 6.15.3", "SERVER 7.1.2"], "id": "15268", "issueType": "Bug", "key": "SERVER-2941", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5cf96166b7268e0e7bb41131", "resolution": "Done", "resolutionDate": "2021-03-23T10:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Is the dependency on [com.fasterxml.jackson.module/jackson-module-afterburner] still needed?", "timeSpent": "PT0S", "updated": "2021-04-09T13:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10709"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T13:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10710"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11086"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to ruth@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 iq22sor1509701pjb.38 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to karen@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 gk5sor1495606pjb.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y17sor1538073pjt.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T13:01:00.000000"}], "components": [], "created": "2020-12-16T12:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@318835d2"}, {"fieldName": "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-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:h"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2604442519_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-01-19)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "15719", "fixedVersions": [], "id": "15719", "issueType": "Task", "key": "SERVER-2940", "labels": [], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-15T16:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.0.2)", "timeSpent": "PT0S", "updated": "2021-01-15T16:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10921"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11163"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11312"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to ruth@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 v27sor1502092pgk.77 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to karen@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 1sor1525910pjz.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor1510447pji.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're going to have another 7.x release before we release PE, so we want to keep promotions on.", "created": "2021-01-15T16:02:00.000000"}], "components": [], "created": "2020-12-16T12:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@c41fa28"}, {"fieldName": "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-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:gi"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2603219566_*|*_6_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-01-19)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-01-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "15265", "fixedVersions": [], "id": "15265", "issueType": "Task", "key": "SERVER-2939", "labels": [], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2021-01-15T16:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.0.2)", "timeSpent": "PT0S", "updated": "2021-01-15T16:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10780"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11006"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11162"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to ruth@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 m12sor1485420pjz.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to karen@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 g19sor1376682pfk.91 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n14sor1502001pjq.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}], "components": [], "created": "2020-12-16T12:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@503db27"}, {"fieldName": "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-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:g"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2604442144_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-01-19)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.0.2 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-01-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "14914", "fixedVersions": [], "id": "14914", "issueType": "Task", "key": "SERVER-2938", "labels": [], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-15T16:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.0.2)", "timeSpent": "PT0S", "updated": "2021-01-15T16:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10853"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11087"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11244"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to ruth@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 w12sor1679766plz.58 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to karen@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 j10sor1306190pjs.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j5sor1513358pji.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}], "components": [], "created": "2020-12-16T12:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@175b51ec"}, {"fieldName": "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-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:fi"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2604306046_*|*_3_*:*_1_*:*_320321631_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-01-19)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md].\n\n* Search for tickets with {{fixVersion = \"SERVER 7.0.2\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "17503", "fixedVersions": [], "id": "17503", "issueType": "Task", "key": "SERVER-2937", "labels": [], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-19T09:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.0.2)", "timeSpent": "PT0S", "updated": "2021-01-19T09:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10626"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T13:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10627"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T12:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11005"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to ruth@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 k2sor1686769pld.59 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to karen@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 g19sor1376648pfk.91 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T12:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fy14sor1529445pjb.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T13:01:00.000000"}], "components": [], "created": "2020-12-16T12:55:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@170ed56f"}, {"fieldName": "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-10830"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:f"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2603584083_*|*_5_*:*_1_*:*_0"}], "description": "(Initial planned release date: 2021-01-19)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2021-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "17242", "fixedVersions": [], "id": "17242", "issueType": "Task", "key": "SERVER-2936", "labels": [], "originalEstimate": "PT0S", "parent": "26680", "parentSummary": "Puppet Platform 7.2.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-15T16:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.0.2)", "timeSpent": "PT0S", "updated": "2021-01-15T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10617"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10618"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10594"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10595"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10596"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10597"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10598"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10599"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10600"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10601"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10602"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10603"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10604"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10605"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10606"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10607"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10608"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10609"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10610"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10611"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10612"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10613"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10614"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10615"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10616"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10619"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10620"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10621"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10622"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10623"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10624"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10625"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10677"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10678"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10679"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10680"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10681"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10682"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10683"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10684"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10685"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10686"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10687"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10688"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10689"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10690"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10691"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10692"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10693"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10694"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10695"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10696"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10697"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10698"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10699"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10700"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10701"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10702"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10703"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10704"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10705"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10706"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10707"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10708"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10778"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10748"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10749"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10750"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10751"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10752"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10753"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10754"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10755"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10756"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10757"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10758"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10759"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10760"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10761"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10762"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10763"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10764"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10765"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10766"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10767"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10768"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10769"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10770"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10771"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10772"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10773"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10774"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10775"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10776"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10777"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10779"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10820"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10821"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10822"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10823"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10824"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10825"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10826"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10827"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10828"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10829"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10830"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10831"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10832"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10833"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10834"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10835"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10836"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10837"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10838"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10839"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10840"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10841"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10842"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10843"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10844"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10845"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10846"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10847"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10848"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10849"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10850"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10851"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10852"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10889"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10890"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10891"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10892"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10893"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10894"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10895"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10896"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10897"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10898"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10899"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10900"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10901"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10902"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10903"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10904"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10905"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10906"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10907"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10908"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10909"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10910"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10911"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10912"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10913"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10914"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10915"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10916"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10917"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10918"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10919"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10920"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10970"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10971"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10972"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10973"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10974"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10975"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10976"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10977"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10978"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10979"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10980"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10981"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10982"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10983"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10984"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10985"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10986"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10987"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10988"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10989"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10990"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10991"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10992"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10993"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10994"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10995"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10996"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10997"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10998"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10999"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11000"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11001"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11002"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11003"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11004"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11055"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11056"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11057"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11058"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11059"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11060"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11061"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11062"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11063"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11064"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11065"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11066"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11067"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11068"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11069"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11070"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11071"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11072"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11073"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11074"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11075"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11076"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11077"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11078"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11079"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11080"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11081"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11082"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11083"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11084"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11085"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11129"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11130"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11131"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11132"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11133"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11134"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11135"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11136"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11137"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11138"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11139"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11140"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11141"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11142"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11143"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11144"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11145"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11146"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11147"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11148"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11149"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11150"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11151"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11152"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11153"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11154"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11155"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11156"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11157"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11158"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11159"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11160"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11161"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T16:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11212"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11213"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11214"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11215"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11216"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11217"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:37:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11218"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11219"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11220"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11221"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11222"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11223"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11224"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11225"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11226"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11227"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11228"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11229"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11230"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11231"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11232"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:25:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11233"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11234"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11235"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11236"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11237"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11238"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:05:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11239"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:45:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11240"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11241"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T12:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11242"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11243"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11299"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T17:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11280"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11281"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T18:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11282"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T19:21:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11283"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11284"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T20:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11285"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11286"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T21:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11287"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T22:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11288"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:13:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11289"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-14T23:53:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11290"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T00:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11291"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11292"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T01:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11293"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T02:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11294"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11295"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T03:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11296"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T04:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11297"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T05:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11298"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T06:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11300"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11301"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T07:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11302"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:17:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11303"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T08:57:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11304"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T09:33:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11305"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11306"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T10:29:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11307"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:09:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11308"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T11:49:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11309"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:01:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11310"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-15T13:41:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11311"}], "comments": [{"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g4sor9692127plp.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y66sor8429186pfb.82 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f15sor8587157pfa.44 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l13sor8529378pfc.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ng6sor8720609pjb.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i124sor1982165pfe.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o1sor8334435pfu.97 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d1sor1592609pjw.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b19sor8784736pjo.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d21sor6395657pfq.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v3sor8891850pjl.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 kk4sor8729449pjb.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 70sor8486009pfv.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T16:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 cx2sor7718981pjb.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u1sor9262699plz.68 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c10sor5715563plr.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 1sor9661399plc.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z10sor9014214pgl.45 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z25sor9128370pgu.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s1sor4754877pfm.94 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x20sor6001658pll.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j5sor8991055pji.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u14sor9098455pjd.22 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j205sor8487117pfd.41 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o12sor8958596pjr.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x5sor5354510plm.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a9sor9051910pjv.24 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ba9sor5936977plb.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T17:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y17sor9188987pjt.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 kk4sor8809131pjb.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e4sor3270414pgg.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z4sor108834plb.46 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t9sor9448906plr.21 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 q13sor1581039pgi.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y11sor9071661pjm.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i17sor8932621pjl.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d7sor9358086pgd.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g2sor9139262pge.33 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y16sor5619773plp.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z4sor151631plb.46 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d5sor8539964pfo.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h38sor9097097pgb.21 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e4sor3325748pgg.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T18:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor7625759pji.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y9sor6429491pfe.86 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r20sor9331394pgi.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m12sor9323481pjg.15 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y15sor5664837pgj.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m12sor9002797pjz.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 1sor9837464plc.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 cv8sor9292165pjb.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f14sor6432533pgj.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 24sor9315677pgz.51 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i10sor9126651pju.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f141sor8691437pfa.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l197sor5860654pga.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m12sor7405684pgj.41 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t5sor3535013pfl.47 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T19:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p1sor8596737pfp.96 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o12sor9124916pjr.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z11sor3062072pfq.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 70sor8701250pfv.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r33sor9434551pgb.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r8sor9266590pjz.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t1sor9211375pjs.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m12sor9414457pjg.15 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c16sor9830483pls.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d12sor3673975pfd.101 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d1sor9906887pls.17 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor9134963pgi.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n31sor9093098pgl.18 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t2sor9194459pji.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor9890694pls.50 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T20:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b24sor5423593pfo.72 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s19sor3015293plq.39 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 11sor7411217plg.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b68sor8881257pfb.77 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g17sor9312252pju.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 gk5sor9142446pjb.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fr14sor9190028pjb.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r10sor9233838pjp.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor8792465pff.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n194sor8625030pfd.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 10sor9820321plb.52 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 18sor3227360pjk.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 w12sor8707374pfi.24 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p1sor8715695pfp.96 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor9217749pgi.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T21:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 63sor9680969pla.15 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j19sor9767824plj.49 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t6sor5354981pju.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l13sor8911323pfc.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m10sor9372376pgp.78 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i38sor9378706pgl.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 w5sor9816193plq.69 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m10sor9385758pgp.78 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s11sor9416382pjp.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f9sor10016285plb.37 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 lx18sor9471157pjb.32 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o24sor9168632pll.60 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j5sor9361446pji.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j16sor9328089pgh.79 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j205sor8830919pfd.41 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T22:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c6sor4364262pll.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 136sor8841111pfz.33 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 128sor9359269pgi.86 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b31sor9271759pgm.55 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ge15sor2577787pjb.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b16sor6357086plz.51 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t11sor8764876pgu.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor1720347pld.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b188sor3920193pfa.89 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p20sor8960185pfn.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z23sor234067pgv.73 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d5sor8865285pfo.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z4sor582722plb.46 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ge15sor2619901pjb.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h38sor9457238pgb.21 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-14T23:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t63sor9578720pgc.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o1sor8826176pfu.97 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v2sor9145668pfu.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z6sor9487424pju.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c26sor9387732pgb.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i38sor9523176pgl.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t35sor3307743pfg.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l6sor10057179plb.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d20sor9542053pgi.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 1sor10299515plc.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c6sor4520470pll.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 az12sor10252077plb.47 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r205sor3804424pgr.63 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b12sor9740774pgr.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c10sor6367798plr.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T00:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n3sor9435859pgh.66 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 az12sor10285296plb.47 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fz10sor5543506pjb.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g6sor10334737plo.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor9456156pgi.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j10sor791015pjs.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j8sor2974756pff.57 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u5sor1496859pjr.37 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c16sor10275481pls.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r20sor9803342pgi.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c16sor10287115pls.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u14sor9700920pjd.22 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s11sor9666176pjp.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k6sor9722984pjm.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ha18sor4911209pjb.17 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T01:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s1sor5330057pfm.94 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a7sor9626174pjw.6 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bf10sor180658plb.73 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n8sor10272899plk.62 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 26sor2939328pgq.62 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bj22sor9649622pjb.6 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t6sor5674113pju.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y11sor9663416pjm.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k4sor9193539pfg.90 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k19sor9188250pfc.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b12sor9874907pgr.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a17sor9784471pjq.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor9158701pff.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 q14sor9384010pfj.22 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 11sor7919711plg.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T02:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b19sor9515101pjo.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bi7sor5195296plb.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bj22sor9715525pjb.6 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 gf11sor9764695pjb.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m10sor9735652pgp.78 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d12sor4136802pfd.101 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u14sor8923315pfc.36 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y11sor9745475pjm.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o12sor9680758pjr.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 w18sor9350955pfu.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s1sor5447144pfm.94 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 cx2sor8533866pjb.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c9sor7080296plo.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s1sor5459111pfm.94 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u14sor8957400pfc.36 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T03:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b68sor9358363pfb.77 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n3sor9657473pgh.66 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 11sor8023637plg.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 iq22sor9796020pjb.38 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i7sor5776412pgr.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f22sor9180455pfd.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v4sor9515430pfm.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y2sor8365781pjv.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k6sor9928743pjm.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e13sor9873276pgt.44 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p24sor9675468pgb.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x11sor9443307pfc.84 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z4sor1015318plb.46 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c16sor10555675pls.53 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h38sor9812770pgb.21 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T04:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b16sor6852512plz.51 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b68sor9431510pfb.77 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p17sor10298932plq.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 q13sor2356684pgi.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j6sor3607947pga.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i69sor5478091pgc.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 205sor9323618pfw.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 gk5sor9746842pjb.30 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t36sor9550680pfg.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e4sor2704668pfh.74 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l197sor6584909pga.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r33sor10125872pgb.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x9sor10789604plb.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor8429907pji.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i33sor9737750pgb.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T05:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d21sor7974790pld.64 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v4sor9635889pfm.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n10sor9980903pjt.33 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g3sor355969pfq.65 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j8sor3320601pff.57 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor9410255pff.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s15sor2208966pjr.43 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a3sor3351744pgg.38 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s11sor10034438pjp.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z22sor9470457pfc.61 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a1sor3392868pfn.83 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 4sor3212571pfy.52 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d10sor8641998pln.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v3sor10067788pjr.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g19sor9483643pfk.91 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T06:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m12sor9881332pjz.34 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ms2sor10007172pjb.21 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h21sor9811747pgv.37 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 co14sor9883292pjb.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 me13sor10044694pjb.15 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k206sor9406657pfd.32 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ob3sor9904639pjb.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h11sor10655286plr.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ob3sor9916990pjb.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 cp5sor1284225plb.71 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f19sor10045034pgk.67 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor9944499pgi.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 w21sor9791678pfc.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y9sor7331856pfe.86 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bb12sor4292586pjb.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T07:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f19sor10073646pgk.67 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l3sor10095192pjz.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d8sor10079724pgj.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z6sor2831041pjq.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v5sor10106678pjl.22 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i124sor3117632pfe.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z6sor2849366pjq.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 78sor9705153pfy.75 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 cv8sor10334410pjb.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bf8sor10084946pjb.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 kk4sor9917487pjb.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 85sor8963208pge.32 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 g17sor10242642pju.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y16sor10388205pgk.59 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v2sor9810114pfu.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T08:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r10sor10148005pjp.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t35sor3946112pfg.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 1sor9811764pfz.102 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d2sor8703395pjl.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d21sor7556114pfq.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 my9sor10344389pjb.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c6sor5328050pll.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z12sor10229427pgg.83 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d134sor10270649pga.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d10sor8919691pln.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 q13sor2753308pgi.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f18sor10372117pgh.39 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r70sor9777526pfc.66 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fr14sor10188715pjb.23 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 r33sor10515948pgb.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T09:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d7sor10568772pgd.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n6sor149033pgn.47 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 j5sor10284893pji.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n14sor10193507pjq.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f141sor9752596pfa.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k19sor9785264pfc.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l3sor10302437pjz.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k15sor2825175pls.25 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d21sor7653462pfq.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m22sor10335434pgu.85 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l2sor10194813pjk.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fs21sor10290753pjb.18 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor2772090pld.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ha18sor5641401pjb.17 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 85sor9447033pfw.95 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T10:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b12sor10582743pgr.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e8sor10257647pgn.57 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c10sor7281894plr.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 mq13sor6543623pjb.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 w9sor8414461pge.15 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v2sor10001480pfu.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y16sor7115957plp.28 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l2sor11141862plk.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n21sor10007584pfu.81 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i69sor6035660pgc.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 f62sor10344136pjk.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor9844631pff.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d1sor3075789pjw.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bj8sor11068445plb.14 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v3sor10504660pjr.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T11:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l197sor7156343pga.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h11sor11074461plr.5 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 ng6sor10211850pjb.35 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n3sor10340398pgh.66 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n194sor9687370pfd.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p8sor11228199plk.0 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 a13sor273318pfn.20 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p17sor10962165plq.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 s19sor4401765plq.39 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o4sor10714082pgu.43 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 h13sor10607562pgl.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:41:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 q10sor9819829pfs.68 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:45:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u1sor11339537plq.61 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:49:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t18sor9836912pfq.56 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:53:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 18sor4441957pjk.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T12:57:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z15sor9581263pfg.93 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:01:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n14sor16521pjq.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:05:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t18sor9854727pfq.56 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:09:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x20sor7696297pll.2 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:13:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 my9sor43936pjb.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:17:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n3sor10419996pgh.66 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:21:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 t11sor9868890pgu.4 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:25:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 89sor14880ple.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:29:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 mr2sor60337pjb.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:33:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 p67sor9104446pgp.80 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:37:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 89sor20746plf.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-15T13:41:00.000000"}], "components": [], "created": "2020-12-11T10:02:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@141dfd1c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05grs:"}, {"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": "14/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_15227912_*|*_1_*:*_1_*:*_2469936_*|*_10007_*:*_1_*:*_263235669_*|*_5_*:*_1_*:*_0"}], "description": "Look at PUP-10812 for more details.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15262", "fixedVersions": ["SERVER 7.0.2"], "id": "15262", "issueType": "Task", "key": "SERVER-2934", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Fixed", "resolutionDate": "2020-12-14T16:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Server side element of PUP-10812; issue cadir warnings", "timeSpent": "PT0S", "updated": "2020-12-15T13:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Logback will only scan for files that are at most 32 days old when the maxHistory interval has changed. Logback is not a Puppet project and looking at their history they've changed the default a couple of times in the last decade. [Here|https://github.com/qos-ch/logback/blob/bbc783e6d68482abe8e7dff0d06708175e971b91/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/TimeBasedArchiveRemover.java#L33] is the current code that manages it.  It doesn't look user configurable.", "created": "2020-12-17T16:23:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Marking this as \"Won't Fix\" since the issue is the behavior of the upstream library and they seem happy with its behavior.", "created": "2020-12-17T16:25:00.000000"}], "components": [], "created": "2020-12-09T23:04:00.000000", "creator": "6220db614160640069c7133a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f5cd65b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o05g88:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_664861088_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_2351256"}], "description": "*Puppet Version:* 2019.8.1\n *Puppet Server Version:*\u00a02019.8.1\n *OS Name/Version:* RHEL 7\n\nLog files are not deleted based on the\u00a0_*maxHistory*_\u00a0parameter value updated in _*logback.xml*_\n\n*Before changing any settings in the logback.xml file*\u00a0\n{code:java}log file puppetserver-<date>.log.gz count shows as below.\n\n[root@pe-201981-master puppetserver]# ls |grep puppetserver-2 | wc -l\n  89 {code}\n\u00a0\n\nUpdated the\u00a0*{{logback.xml}}*\u00a0file to set the\u00a0*{{<maxHistory>7</maxHistory>}}*\u00a0and restarted the\u00a0*{{puppetserver}}*\u00a0service.\n{code:java}  <appender name=\"F1\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\">\n        <file>/var/log/puppetlabs/puppetserver/puppetserver.log</file>\n        <append>true</append>\n        <rollingPolicy class=\"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy\">\n            <fileNamePattern>/var/log/puppetlabs/puppetserver/puppetserver-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>\n            <!-- each file should be at most 200MB, keep 90 days worth of history, but at most 1GB total -->\n            <maxFileSize>200MB</maxFileSize>\n            <maxHistory>7</maxHistory>\n            <cleanHistoryOnStart>true</cleanHistoryOnStart>\n            <totalSizeCap>1GB</totalSizeCap>\n        <cleanHistoryOnStart>true</cleanHistoryOnStart>\n        </rollingPolicy>\n        <encoder>\n            <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX} %-5p [%t] [%c{2}] %m%n</pattern>\n        </encoder>\n    </appender> {code}\n\u00a0Output after the settings changed.\n{code:java}   [root@pe-201981-master puppetserver]# ls |grep puppetserver-2 | wc -l\n   57 {code}\nIt deletes the files just from one month before, meaning deleted the log files from only\u00a0_*{{Nov 2020}}*_\u00a0but not from\u00a0_*{{SEP & OCT 2020}}*_.\n\nSuppose to keep the log files only for the past *7* days and delete the rest of the files based on the _*maxHistory*_ parameter value.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17536", "fixedVersions": [], "id": "17536", "issueType": "Bug", "key": "SERVER-2933", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db614160640069c7133a", "resolution": "Won't Fix", "resolutionDate": "2020-12-17T16:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Log files are failed to delete based on maxHistory value parameter in logback.xml ", "timeSpent": "PT0S", "updated": "2020-12-17T16:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-12-08T15:50:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42c5326d"}, {"fieldName": "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": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:qu"}, {"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_*:*_583435691_*|*_1_*:*_1_*:*_5633_*|*_3_*:*_1_*:*_545410147_*|*_10009_*:*_1_*:*_75325258_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_8196751701_*|*_10005_*:*_1_*:*_2667110195"}], "description": "This needs to remain compatible with deprecated settings. Audit codebase for inappropriate terms and prefer alternatives when reading config/puppet settings.\n\nMost of the stuff in here seem to be internal variable names that use \"master\" in a way that's easily convertible to \"server\".\n\nThere are also still a few places reading the \"master\" version of puppet's settings, though the work to merge in the \"server\" section from the config has been done.\n\nDon't forget to audit specs as part of this.", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "17535", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "17535", "issueType": "Task", "key": "SERVER-2932", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2021-04-27T09:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update harmful terminology in puppetserver-ca-cli", "timeSpent": "PT0S", "updated": "2021-04-27T09:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-12-04T12:18: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@6e1f7cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:4090000609"}, {"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_*:*_5284_*|*_1_*:*_1_*:*_270836_*|*_10007_*:*_1_*:*_2918317_*|*_3_*:*_1_*:*_10354801_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_249118478_*|*_10005_*:*_1_*:*_3394"}], "description": "The ca cli warns when the cadir is in the ssldir. We want this during nearly all ca cli invocations, but we should prevent it from warning when running the migration action.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14913", "fixedVersions": ["SERVER 7.0.1"], "id": "14913", "issueType": "Bug", "key": "SERVER-2931", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2020-12-07T13:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Do not warn regarding cadir when running migration", "timeSpent": "PT0S", "updated": "2020-12-07T13:16:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Docs ticket needs to be updated for the osp-docs repo and to replace Kate with our newest docs person (maybe also mention Claire)?", "created": "2020-12-16T17:34:00.000000"}], "components": [], "created": "2020-12-03T16:52:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@270cb751"}, {"fieldName": "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-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfs:"}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_94411940_*|*_3_*:*_1_*:*_264904772_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_835047818"}], "description": "(Initial planned release date: 2020-12-15)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-12-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "15487", "fixedVersions": [], "id": "15487", "issueType": "Task", "key": "SERVER-2930", "labels": [], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-17T12:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.0.1)", "timeSpent": "PT0S", "updated": "2020-12-17T12:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This isn't going out in a PE release but I used this ticket number for the cjc work that I did (create a release branch and jobs to release from it).", "created": "2020-12-10T14:03:00.000000"}], "components": [], "created": "2020-12-03T16:52:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ab383ef"}, {"fieldName": "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-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfc:"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_94412735_*|*_10007_*:*_1_*:*_334772069_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_500260450"}], "description": "(Initial planned release date: 2020-12-15)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-12-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "14911", "fixedVersions": [], "id": "14911", "issueType": "Task", "key": "SERVER-2929", "labels": [], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-14T11:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.0.1)", "timeSpent": "PT0S", "updated": "2020-12-14T11:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:52:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@225abfc5"}, {"fieldName": "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-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o059jy:"}, {"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_*:*_94410775_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_834936198"}], "description": "(Initial planned release date: 2020-12-15)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.0.1 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-12-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "17534", "fixedVersions": [], "id": "17534", "issueType": "Task", "key": "SERVER-2928", "labels": [], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-14T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.0.1)", "timeSpent": "PT0S", "updated": "2020-12-14T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:52:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b29c01f"}, {"fieldName": "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-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o059jw:"}, {"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_*:*_94409609_*|*_10007_*:*_1_*:*_333847155_*|*_3_*:*_1_*:*_1230384_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_499777241"}], "description": "(Initial planned release date: 2020-12-15)\n\nWrite release notes for the release based on the tickets found in the previous step:\n *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md].\n * Search for tickets with {{fixVersion = \"SERVER 7.0.1\"}}.\n * Check each ticket's DOCS tab for the necessary release notes.\n * Request review from the docs team by pinging [~accountid:5fc46fd09592df0076141ac0] in the opened PR - give her at least two days prior to ship to review.\n * The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n * Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.", "duedate": "2020-12-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "17239", "fixedVersions": [], "id": "17239", "issueType": "Task", "key": "SERVER-2927", "labels": [], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-14T10:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.0.1)", "timeSpent": "PT0S", "updated": "2020-12-14T10:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Running ticketmatch like:\n{code}\npuppetserver (main<>) :: ruby ../../tools/ticketmatch/ticketmatch.rb \nEnter Git From Rev: 7.0.0                                                                                                    \nEnter Git To Rev: |master| main                               \nEnter JIRA project: |PUP| SERVER                    \nEnter JIRA fix version: |SERVER main| SERVER 7.0.1  \n(Optional) Enter JIRA team name:\n\n.....\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 7.0.1)\nI18N\nPE-30410\nSERVER-2876\nSERVER-2914\nSERVER-2925\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nUNRESOLVED ISSUES FOUND IN GIT\nSERVER-2917     Ready for CI           (Froyo)\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n\nPE-30410 - Is an Orch fix that requires updates in FOSS land, specifically our AST compiler endpoint. The ticket is in the correct form for a PE ticket and I'm not going to force the FOSS workflow here.\n\nThe remaining three in that category (SERVER-2876, SERVER-2914, SERVER-2925) landed originally in earlier branches and were merged up without the ticket having 7.0.1 added to the fixVersion. I've added it.\n\nFinally, there's SERVER-2917 which has passed CI for FOSS but there's a follow up PE clean up that the ticket is open waiting for. It has functionally been resolved on the FOSS side and shouldn't block anything.", "created": "2020-12-10T13:37:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It was voom build 7.0.1-20201210_045602-gcc9cb79 that was promoted into PE. Which corresponds to this [FOSS build|http://builds.delivery.puppetlabs.net/puppetserver/7.0.1.SNAPSHOT.2020.12.10T0726/]. If one double checks you'll find that one of those is for the merge commit and the other is not, for some reason our FOSS packages do not build the merge commit even though they contain the same functionality, however they do promote the merge commit into PE.", "created": "2020-12-10T13:51:00.000000"}], "components": [], "created": "2020-12-03T16:51:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43634d40"}, {"fieldName": "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-10801"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o059jv:"}, {"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/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_94406901_*|*_3_*:*_1_*:*_9845298_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_489873113"}], "description": "(Initial planned release date: 2020-12-15)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-12-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "estimate": "PT0S", "externalId": "16946", "fixedVersions": [], "id": "16946", "issueType": "Task", "key": "SERVER-2926", "labels": [], "originalEstimate": "PT0S", "parent": "24453", "parentSummary": "Puppet Platform 7.1.0 Release - 2020-12-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-12-10T13:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.0.1)", "timeSpent": "PT0S", "updated": "2020-12-10T13:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-12-03T16:03: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@45490238"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o05c80:"}, {"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 release upgrade JRuby 9k to 9.1.17.0, which fixes a memory leak affecting certain users. (release notes only needed for 5.x, since JRuby 9k is a much higher version in the later streams and didn't suffer from this bug)"}, {"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_*:*_254227524_*|*_1_*:*_1_*:*_12336_*|*_10007_*:*_1_*:*_1770866_*|*_3_*:*_1_*:*_88804473_*|*_5_*:*_1_*:*_0"}], "description": "We recently had an example of a customer on XXX, which has JRuby 9.1.16.0, experiencing a memory leak that looks like it might be caused by [https://github.com/jruby/jruby/issues/4796.] We should attempt to upgrade JRuby to at least 9.1.17.0 to see if it fixes this issue.\n\nJRuby changelog: https://www.jruby.org/2018/04/23/jruby-9-1-17-0.html", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16945", "fixedVersions": ["SERVER 5.3.17", "SERVER 6.15.0", "SERVER 7.0.1"], "id": "16945", "issueType": "Bug", "key": "SERVER-2925", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-12-07T15:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Memory leak in JRuby <9.1.17.0", "timeSpent": "PT0S", "updated": "2021-01-14T16:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T14:55:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10628"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:35:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10629"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:47:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10630"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:27:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10631"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:23:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10711"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:03:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10712"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:15:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10713"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:55:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10714"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:11:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10781"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:31:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10782"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:43:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10783"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T14:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10854"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:39:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10855"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:51:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10856"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:27:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10922"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:19:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10923"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T14:43:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11007"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:15:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11008"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:07:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11009"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:47:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11010"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T14:47:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11088"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:03:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11089"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:55:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11090"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:35:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11091"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T14:51:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11164"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:31:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11165"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:43:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11166"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:23:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11167"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:19:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11245"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:11:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11246"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:51:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11247"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:07:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11313"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T15:59:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11314"}, {"attacher": "623c13dfee1b5a0070293665", "created": "2020-12-16T16:39:00.000000", "name": "icon.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11315"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think you are hitting the fact that a given module directory can _only_ contain valid modules. Each directory is supposed to be a module. So you can't nest one module dir inside another one, because that nested dir is not a valid module. See the third paragraph here [https://puppet.com/docs/puppet/6.19/dirs_modulepath.html] for details. So because of that, it's not valid to have an entry to the modulepath that is a subdirectory of another entry.\n\nI'm not sure why this possible worked before. But it works when you switch the order because puppet searches the modulepath from first to last, and stops looking when it finds what it needs. So in the case without the error, it stops after the first entry ({{modules/hosts}}) and never searches just {{modules}}. If your module was instead in {{modules}}, it would probably fail when it got to searching that.", "created": "2020-12-08T16:49:00.000000"}, {"author": "61d042dc567cb70070a95af9", "body": "Hi,\n\n> I'm not sure why this possible worked before. But it works when you switch the order because puppet searches the modulepath from first to last, and stops looking when it finds what it needs. So in the case without the error, it stops after the first entry (modules/hosts) and never searches just modules. If your module was instead in modules, it would probably fail when it got to searching that.\n >\n\nHere the tree of my directory (partial because it would be a little too long)\n\n\u251c\u2500\u2500 data\n \u2502.. \u251c\u2500\u2500 categories\n \u2502.. \u251c\u2500\u2500 roles\n \u2502.. \u251c\u2500\u2500 status\n \u2502.. \u2514\u2500\u2500 types\n \u251c\u2500\u2500 manifests\n \u2514\u2500\u2500 modules\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 apache\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 apt\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 archive\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 augeas_core\n\n\u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 augeasproviders\n \u00a0\u00a0\u00a0 \u00a0 \u251c\u2500\u2500 augeasproviders_core\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 augeasproviders_shellvar\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 augeasproviders_sysctl\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 concat\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 consul\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 cron_core\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 cronapt\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 custom\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 hosts\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u2502.. \u251c\u2500\u2500 server1\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u2502.. \u251c\u2500\u2500 server2\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u2502.. \u251c\u2500\u2500 server3\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 icinga2\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u251c\u2500\u2500 icingaweb2\n ...\n\nand all modules, apache, apt, archive etc... work fine\n\neach directory server1, server2, server3 etc...are create by either puppet module for the old one or pdk for the new one\n\nSo I'm not sure what you mean by nested modules. For me the directory \u00abhosts\u00bb are just a directory not a module.\n\nAnd inside (for example)\n\nhosts --> server1\n\n\u251c\u2500\u2500 hosts\n \u2502.. \u251c\u2500\u2500 server1\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u251c\u2500\u2500 Gemfile\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u251c\u2500\u2500 README.md\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u251c\u2500\u2500 Rakefile\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u251c\u2500\u2500 manifests\n \u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u2502.. \u251c\u2500\u2500 init.pp\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u2502.. \u251c\u2500\u2500 monitoring.pp\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u2502.. \u251c\u2500\u2500 packages.pp\n \u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0 \u2502.. \u2514\u2500\u2500 reste.pp\n \u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0 \u251c\u2500\u2500 metadata.json\n \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u251c\u2500\u2500 spec\n \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u2502.. \u251c\u2500\u2500 classes\n \u00a0 \u00a0\u00a0 \u00a0 \u00a0 \u2502.. \u2502.. \u2514\u2500\u2500 init_spec.rb\n \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u2502.. \u2514\u2500\u2500 spec_helper.rb\n \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u2514\u2500\u2500 tests\n \u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u2514\u2500\u2500 init.pp\n\nand inside manifests/init.pp I got\n\nclass server1 {\n }\n\nfor me that should be correct.\n\nBy the way If I keep the\n\n\u00a0\u00a0\u00a0 modulepath = modules:modules/hosts\n and move all modules/hosts/* inside modules/ it's working.\n\n\u00a0I'm pretty sure this guys got the same problem \n\nhttps://ask.puppet.com/question/35514/error-500-could-not-find-class-classname/\n\nRegards\n\n\u00a0", "created": "2020-12-09T04:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So, for each entry to the module path, in your case \"modules\" and \"modules/hosts\", all of the directories inside each entry need to be valid puppet modules.\n\nBut that's not the case in your example, because \"hosts\" is a directory inside another entry in the module path (\"modules\"), but it is NOT a valid puppet module. It's a directory containing other modules. This is not allowed.\n\nIn the link you found, the solution at the end works because they removed the \"modules\" entry from the modulepath. So now their modulepath is a just a series of directories that all contain only valid modules.\n\nIt seems you've also solved it by moving all of the modules in your inner directory (\"modules/hosts\") up to the outer (\"modules\"), which means everything in your \"modules\" directory is now valid (I think Puppet just ignores the empty \"hosts\" dir), so things work. If you want to group some of your modules in a directory other than \"modules\", that new dir cannot be nested under \"modules\". It has to be next to it, or somewhere else entirely.\n\nI don't know why this changed in Puppet 6. Perhaps [~accountid:63d40628f6e1b543161789a7] has some insight? But I agree it could be documented more clearly.", "created": "2020-12-09T10:03:00.000000"}, {"author": "61d042dc567cb70070a95af9", "body": "Well, I'm not sure I understand the principal. You mean if I got 1000 modules I only can put all of them flat inside \u00abmodules\u00bb ?\n \nIn that case what are the purpose of the variable modulepath ? and how can my config work ? Because currently it works and\nmy modules are inside modules/hosts *and* modules/ and as I say my apache module are in modules/apache and all my module can\nload the apache module.\n\nAnd yes I tested to put everything in modules, it's working, but it's not very convenient.", "created": "2020-12-14T07:38:00.000000"}, {"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "Generally speaking, we recommend as best practices to put module directories at the top level of your control repository (next to the Puppetfile) and then recording them in the environment.conf file.\n\nSee\u00a0https://github.com/puppetlabs/control-repo/blob/production/environment.conf", "created": "2020-12-16T14:38:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z12sor1627251pgg.83 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T14:43:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 l2sor1850068plk.7 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T14:47:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 n10sor1627737pjt.33 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T14:51:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I asked around, and it sounds like generally we recommend putting multiple module directories side-by-side top-level in the control repo. So for example, you could organize as:\n{code}\n...\n/etc/puppetlabs/code/environments/production/manifests\n...\n/etc/puppetlabs/code/environments/production/host_modules\n/etc/puppetlabs/code/environments/production/other_modules\n/etc/puppetlabs/code/environments/production/more_modules\n{code}\nAnd add all of the directories with modules in them to the modulepath for the environment.", "created": "2020-12-16T14:54:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z23sor1656681pgv.73 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T14:55:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i10sor1640175pju.3 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T14:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fy14sor1658561pjb.12 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:03:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor1658293pga.61 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:07:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x9sor1901561plb.27 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:11:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 b3sor1905425pld.26 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:15:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 d134sor1683005pga.16 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:19:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 bc5sor1890329plb.70 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:23:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k63sor1673368pgd.69 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:27:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 o34sor1716877pgb.49 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:31:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 y17sor1695483pjt.40 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:35:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e8sor1647041pjw.41 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:39:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 30sor1712475pgo.13 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:43:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 18sor1667339pjk.42 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:47:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 k5sor1694986pjp.1 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:51:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 fz10sor1665137pjb.11 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:55:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 89sor1927888ple.9 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T15:59:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x64sor688476pfc.101 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:03:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 z25sor1749133pgu.29 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:07:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 e15sor1591205pfh.85 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:11:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c28sor1523489pfp.92 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:15:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 x10sor1729273pga.61 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:19:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c6sor1976742pll.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:23:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 v1sor1977150plp.8 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:27:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 i17sor1696158pjl.31 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:31:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 u1sor1902165plz.68 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:35:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 co14sor1696749pjb.19 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:39:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 24sor1778384pgz.51 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:43:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 m142sor1568317pfd.37 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:47:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 11sor1975444plg.10 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:51:00.000000"}, {"author": "623c13dfee1b5a0070293665", "body": "** Address not found **\n\nYour message wasn't delivered to jeremy.barlow@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 c33sor1082197pgl.18 - gsmtp\n\n----- Message truncated -----", "created": "2020-12-16T16:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is working as intended. Puppet searches the modulepath in the order the entries are supplied, and breaks when it finds a directory that is not a valid module. It is not recommended to put nested directories on the modulepath, but rather only directories that are on the same level as each other or on unrelated paths, to avoid issues where Puppet tries to parse the nested dir as a module (which it is not) and fails.", "created": "2021-03-17T11:57:00.000000"}], "components": ["Puppet Server"], "created": "2020-12-03T09:42:00.000000", "creator": "61d042dc567cb70070a95af9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@329a39c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o05bsg:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_8989427402_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_638682"}], "description": "*Puppet Version: 5.5.22 and 6.19*\n *Puppet Server Version:6.14.1-1stretch*\n *OS Name/Version: Debian/Stretch*\n\nAfter upgrading from puppetserver 5.5 to 6.19 I notice the modulepath are wrongly use.\n\nIf I put in the environment.conf\n{quote}modulepath=modules:modules/OTHER\n{quote}\nthe directory OTHER are not see as modules but somehow it still look inside modules/OTHER but throw error about non autorise name of the class\n\n\u00a0\n\nBut if I put\n{quote}modulepath = modules/OTHER:modules\n{quote}\n\u00a0\n\nEverything work fine\n\n*Desired Behavior:*\n\nMaybe I miss\u00a0 a special point but I don't see any actual reason why the order of those paths put in the modulepath should impact how those paths should be used.\n\n\u00a0\n\n*Actual Behavior:*\n\nIf I put\n{quote}modulepath=modules:modules/hosts\n{quote}\nin\n{quote}environment.conf\n{quote}\nand run puppet I got this error\n{quote}root@servername:~# puppet agent -vt --environment myself\n Info: Using configured environment 'myself'\n Info: Retrieving pluginfacts\n Info: Retrieving plugin\n Info: Retrieving locales\n Info: Loading facts\n Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unacceptable location. The name 'servername' is unacceptable in file '/etc/puppetlabs/code/environments/myself/modules/hosts/servername/manifests/init.pp' (file: /etc/puppetlabs/code/environments/myself/modules/hosts/servername/manifests/init.pp, line: 28, column: 1) on node servername.fqdn \n Warning: Not using cache on failed catalog \n Error: Could not retrieve catalog; skipping run\n{quote}\n\u00a0\n\nIf I put\n{quote}modulepath = modules/hosts:modules\n{quote}\neverything work fine.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15718", "fixedVersions": [], "id": "15718", "issueType": "Bug", "key": "SERVER-2924", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61d042dc567cb70070a95af9", "resolution": "Won't Fix", "resolutionDate": "2021-03-17T11:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Weird problem with environment.conf", "timeSpent": "PT0S", "updated": "2021-03-17T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6220db7149c90000701fd082", "body": "An additional note: Code deploy's {{pre_commit_hook_commands}} doesn't look to make any difference in {{generate types}} behavior, in case there were any suspicions.", "created": "2020-11-24T11:36:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "One of the larger impacts of this in PE is that catalog compilation can fail if the type definitions had varying parameters. If it is a common type, all of the agents could be impacted until manual intervention is performed in the {{code-staging)) directory.", "created": "2020-11-24T11:36:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0Is a change to the generate types face something Froyo should take on? Or is this something you would look in to?\u00a0", "created": "2020-11-24T12:08:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "(y) to froyo looking at this.\n\nAnother potential issue here is that we don't take into account the version of puppet that was used to generate the files. So if the generator code changes (https://github.com/puppetlabs/puppet/blob/8bf64bb72eb48cca24d7e6e4c99e6b21e497fa86/lib/puppet/generate/models/type/property.rb#L59-L62) or the ERB template changes (https://github.com/puppetlabs/puppet/blob/7.0.0/lib/puppet/generate/templates/type/pcore.erb) then you'd have to run with {{force}} to re-render them.", "created": "2020-11-30T12:14:00.000000"}], "components": ["Puppet Server"], "created": "2020-11-23T18:19:00.000000", "creator": "6220db7149c90000701fd082", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17962eb7"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91iu"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "42102,44362,48502,48623"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Nov/20"}], "description": "*Situation:* You have two resource types of the same name provided by two different modules. You revert your code to remove the newest of the modules, which supplies the newest of the two types.\n\n*Expectation:* {{puppet generate types}} updates to the older of the two types.\n\n*Behavior:* {{puppet generate types}} uses the version with the newest timestamp, potentially causing hard to diagnose catalog errors when your repository's code is correct. The only solution ends up manually removing the newer file through {{/etc/puppetlabs/code-staging/*/production/.resource_types/}} and re-running a code deploy/type regen.\n\n{noformat}\n# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\n...\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: no parameter named '<name>' (file: /etc/puppetlabs/code/environments/production/modules/<module>/manifests/<class>.pp, line: 18) on Class[<title>] (file: /etc/puppetlabs/code/environments/production/modules/<module>/manifests/<class>.pp, line: 18) on node...\n{noformat}\n\nThe relevant code that determines whether the type needs to be regenerated can be found here: \n [https://github.com/puppetlabs/puppet/blob/7.0.0/lib/puppet/generate/type.rb#L49]\n\n*Proposed Solutions:*\n\n1) Replace the timestamp logic and instead pass along `git diff` information\n\n2) Add the {{--force}} flag to the generate types script to skip the timestamp check: \n [https://github.com/puppetlabs/pe-puppet-server-extensions/blob/2019.8.x/resources/ext/bin/generate-puppet-types.rb#L12-L16]\n\nSuch as from the following behavior: \n [https://github.com/puppetlabs/puppet/blob/main/lib/puppet/face/generate.rb#L40-L43]", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16622", "fixedVersions": [], "id": "16622", "issueType": "Task", "key": "SERVER-2923", "labels": ["001G000001DNBZ1IAP", "jira_escalated"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6220db7149c90000701fd082", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Regenerated puppet types with duplicate names fails to revert changes", "timeSpent": "PT0S", "updated": "2022-06-28T15:06:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Dup of a PDB-4972", "created": "2020-11-21T10:44:00.000000"}, {"author": "557058:823490ee-956b-4c31-9a8f-cc2e88433a03", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0- i opened both issues separately so both packages would be tracked, since the \"Requires\" is the same on both RPM packages", "created": "2020-11-21T11:34:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah sorry my mistake, thanks for reporting", "created": "2020-11-21T12:20:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab]\u00a0Is this feasible?\u00a0", "created": "2020-11-24T12:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think Morgan started looking into this and has a path forward for at least some OSes. We had also talked about defaulting to Java 11 for platforms where we can support allowing both.", "created": "2020-12-02T12:12:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hey [~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab], wondering if you were able to make any progress on this. ", "created": "2021-06-09T11:44:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] was going to follow up on this.", "created": "2021-06-29T11:44:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab] said \"IIRC the potential fix for RHEL platforms will only work for RHEL8 but I want to confirm that's the case since it's been a while since we looked at it\" - she plans to take another work sometime this week.", "created": "2021-06-29T12:31:00.000000"}, {"author": "557058:823490ee-956b-4c31-9a8f-cc2e88433a03", "body": "What is the potential solution for RHEL8?\u00a0 I'm on RHEL7 and am the originator of the issue.", "created": "2021-06-29T12:46:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:557058:823490ee-956b-4c31-9a8f-cc2e88433a03]\u00a0The issue with fixing this for el7 is twofold:\n * OpenJDK is packaged in such a way that it is hard to do something like 'Requires /usr/bin/java' - neither openjdk 8 or 11 provides '/usr/bin/java' since that is managed through alternatives. openjdk 8 provides 'java', but openjdk 11 only provides 'java-11' . This is intentional for openjdk since compatibility between java 8 and java 11 isn't guaranteed [https://unix.stackexchange.com/questions/504706/how-do-i-set-a-rpm-package-to-require-java-8-or-higher-whose-dependencies-can-b]\n * The version of rpm that ships with el7 does not support boolean dependencies. This is a relatively new feature for rpm, and could be used to resolve this issue for el8 [https://rpm.org/user_doc/boolean_dependencies.html]\n\nIt seems like the only way to actually resolve this for el7 would be to switch from requiring java8 to java11 which is not a change we're ready to make at this time.", "created": "2021-07-02T16:19:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:823490ee-956b-4c31-9a8f-cc2e88433a03] Since we don't have a solution for el7 right now, we're going to close this ticket, but please let us know if there's anything else we can help you with. Thanks!", "created": "2021-07-06T11:45:00.000000"}], "components": ["Puppet Server"], "created": "2020-11-21T10:15:00.000000", "creator": "557058:823490ee-956b-4c31-9a8f-cc2e88433a03", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e466848"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q04"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_3_*:*_12937504274_*|*_6_*:*_2_*:*_5710612_*|*_10005_*:*_1_*:*_6671383404"}], "description": "*Puppet Version: 7.0.0*\n *Puppet Server Version: 7.0.0*\n *OS Name/Version: Redhat 7.9*\n\nthe new puppetserver-7.0.0 redhat packages still \"require\"\u00a0java-1.8.0-openjdk-headless, even though the package supports OpenJDK 11.\n\n*Desired Behavior:* puppetserver-7.0.0 should probably switch to just requiring `/usr/bin/java` since redhat's 1.8.0 and 11 openjdk packages do not have a common provides like `jre-headless`\n\n*Actual Behavior:*\n\n[root@puppet modules]# yum install puppetserver -y\n Resolving Dependencies\n --> Running transaction check\n ---> Package puppetserver.noarch 0:7.0.0-1.el7 will be installed\n --> Processing Dependency: java-1.8.0-openjdk-headless for package: puppetdb-7.0.0-1.el7.noarch\n --> Running transaction check\n ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.272.b10-1.el7_9 will be installed\n --> Finished Dependency Resolution\n\nDependencies Resolved\n\n===========================================================================================\n Package Arch Version Repository Size\n ===========================================================================================\n Installing:\n puppetserver noarch 7.0.0-1.el7 puppet7 61 M\n Installing for dependencies:\n java-1.8.0-openjdk-headless x86_64 1:1.8.0.272.b10-1.el7_9 rhel7-server-rpms 33 M\n\nTransaction Summary\n ===========================================================================================\n Install 1 Package (+1 Dependent package)", "environment": "Redhat 7.9 x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17533", "fixedVersions": [], "id": "17533", "issueType": "Bug", "key": "SERVER-2922", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:823490ee-956b-4c31-9a8f-cc2e88433a03", "resolution": "Won't Do", "resolutionDate": "2021-07-06T11:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver-7.0.0 redhat7 rpm requires java-1.8.0-openjdk-headless", "timeSpent": "PT0S", "updated": "2022-01-13T00:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "Could potentially be related to https://puppet.atlassian.net/browse/PE-30653", "created": "2021-03-05T12:40:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:5b590061a3f8512ca5eb3be7] We suspect this may have been fixed. Do you know of this being an issue on the latest pe releases? ", "created": "2021-03-05T12:42:00.000000"}, {"author": "5b590061a3f8512ca5eb3be7", "body": "Hi, sorry I was out when the last update was made.\u00a0 I'm not aware of other instances of this, so if it's a dupe we could close it.", "created": "2021-03-25T09:20:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Reading through the zendesk ticket again, I think it's unlikely that the duplicate client identifier is the root cause of this issue. That bug should only manifest as new code not being available when a deploy is said to have completed. I think this is something else, and we should probably take some time to try to understand it. There's a chance it's related to environment caching issues we've been looking into for other reasons.", "created": "2021-03-25T10:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I verified with Josh that he found this to be related to environment caching issues with versioned dirs, and should be fixed in 2019.8.6. [~accountid:5b590061a3f8512ca5eb3be7] if your customer upgrades and tries this again, and the issues are fixed, please let us know so we can hopefully close this.", "created": "2021-04-02T11:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fwiw, our internal Ops team was also seeing this bug, and is not seeing it anymore since the recent env caching issues got fixed. I'm going to close this as fixed so I can close out the associated epic. If any customer hits it again after upgrading to 2019.8.6, please reopen this and we will investigate further!", "created": "2021-04-15T11:53:00.000000"}], "components": [], "created": "2020-11-18T15:10: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@4313eb7a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:4090000694aq2r"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3307455_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1124799327_*|*_10005_*:*_1_*:*_11643708911"}], "description": "*Puppet Version:*\n\n6.17.0\n *Puppet Server Version:*\n\n2019.8.1\n *OS Name/Version:*\n\n**RHEL 7\n\n*Desired Behavior:*\n\nThe various endpoints involved should be atomic and work correctly with versioned deploys.\n\n*Actual Behavior:*\n\nIt seems like there is an issue with lockless deploys that causes some Orchestrator and Puppet server api calls to intermittently fail with a 404:\n{code:java}\n<ip> - - [12/Nov/2020:14:18:25 +0000] \"GET /puppet/v3/tasks/purge_node/init?environment=production HTTP/1.1\" 404 34 \"-\" \"Apache-HttpAsyncClient/4.1.4 (Java/11.0.8-internal)\" 4 - 1\n<ip> - - [12/Nov/2020:19:30:44 +0000] \"GET /puppet/v3/tasks/purge_node/init?environment=production HTTP/1.1\" 200 649 \"-\" \"Apache-HttpAsyncClient/4.1.4 (Java/11.0.8-internal)\" 36 - 33 \u00a0\n{code}\n{code:java}\n<ip> - - [12/Nov/2020:09:23:46 +0000] \"POST /orchestrator/v1/command/task HTTP/1.1\" 404 208 \"-\" \"OrchestratorClient/2.5.0\" 5515 113\n<ip> - - [12/Nov/2020:09:30:25 +0000] \"POST /orchestrator/v1/command/task HTTP/1.1\" 202 104 \"-\" \"Apache-HttpAsyncClient/4.1.4 (Java/11.0.8-internal)\" 5700 151 \u00a0\n{code}\n\u00a0Also, the\u00a0/environment_modules endpoint seems to not correctly find modules in all environments.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17236", "fixedVersions": [], "id": "17236", "issueType": "Bug", "key": "SERVER-2921", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b590061a3f8512ca5eb3be7", "resolution": "Fixed", "resolutionDate": "2021-04-15T11:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Intermittent failure to enumerate modules/tasks when versioned_deploys = true", "timeSpent": "PT0S", "updated": "2021-04-15T11:54:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-11-16T22:12:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50d47f0a"}, {"fieldName": "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": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0555s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10415_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41168030284"}], "description": "These metrics are apparently confusing and not very useful. See SERVER-2878.", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "16606", "fixedVersions": [], "id": "16606", "issueType": "Task", "key": "SERVER-2919", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Won't Do", "resolutionDate": "2022-03-08T09:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove aggregate metrics", "timeSpent": "PT0S", "updated": "2022-03-08T09:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-11-16T12:45:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@579e3f3a"}, {"fieldName": "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-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "V4 Catalog Endpoint Improvements"}, {"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_yellow"}, {"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|o054lc:"}], "description": "This epic collects bugs and future work for the {{/puppet/v4/catalog}} endpoint.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14909", "fixedVersions": [], "id": "14909", "issueType": "Epic", "key": "SERVER-2918", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "V4 Catalog Endpoint Improvements", "timeSpent": "PT0S", "updated": "2022-03-08T13:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "When completed and promoted into PE https://github.com/puppetlabs/pe_acceptance_tests/pull/2872 shouldn't be required anymore.", "created": "2020-12-03T15:46:00.000000"}, {"author": "557058:79f2fdd6-baee-43c4-91af-c7e647173c95", "body": "The above pull was reverted ,but we started to see the same problems in CI. Where after an upgrade and CA migration we expect the first puppet run to produce 0 changes.\nBut as we can see from this job [here|https://cinext-jenkinsmaster-enterprise-prod-1.delivery.puppetlabs.net/view/pe-integration/view/pe-main/job/enterprise_pe-acceptance-tests_integration-system_pe_smoke-upgrade_main/LAYOUT=redhat7-64mcd,LEGACY_AGENT_VERSION=NONE,PLATFORM=NONE,SCM_BRANCH=main,UPGRADE_FROM=2019.8.4,UPGRADE_TO_VERSION=NONE,label=beaker/185/testReport/(root)/acceptance_tests_00_post_install_setup/00_idempotent_rb/], that is still not the case:\n{quote}\n  western-spatter.delivery.puppetlabs.net (western-spatter.delivery.puppetlabs.net) 16:05:04$ puppet agent -t\n    Info: Using configured environment 'production'\n    Info: Retrieving pluginfacts\n    Info: Retrieving plugin\n    Info: Loading facts\n    Info: Caching catalog for western-spatter.delivery.puppetlabs.net\n    Info: Applying configuration version '1607702709'\n    Notice: /Stage[main]/Puppet_enterprise::Profile::Certificate_authority/File[/etc/puppetlabs/puppet/ssl/ca]/owner: owner changed 'root' to 'pe-puppet' (corrective)\n    Notice: /Stage[main]/Puppet_enterprise::Profile::Certificate_authority/File[/etc/puppetlabs/puppet/ssl/ca]/group: group changed 'root' to 'pe-puppet' (corrective)\n    Notice: Applied catalog in 24.69 seconds\n{quote}", "created": "2020-12-11T09:27:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Realized I forgot to bump the cli gem in pe-pse, PRs coming soon.", "created": "2020-12-11T10:54:00.000000"}], "components": [], "created": "2020-11-13T18:24:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@36b3d577"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o059jt:"}, {"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": "03/Dec/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_107990457_*|*_1_*:*_1_*:*_90608_*|*_10007_*:*_2_*:*_2012901_*|*_3_*:*_2_*:*_183937803_*|*_5_*:*_2_*:*_72614294_*|*_10004_*:*_1_*:*_5049465_*|*_10006_*:*_1_*:*_1482900431_*|*_10005_*:*_1_*:*_582100602"}], "description": "When we create a symlink from the new cadir to the old cadir, we should ensure that the symlink has the same permissions as the actual cadir. It should be owned by the puppet user and group.\n This includes when we create the symlink via\n * puppetserver itself\n * puppetserver-ca gem (setup, import)\n * puppetserver-ca gem (migrate, including 6.x branch)\n\nNeed to apply correct permissions and ownership for all components.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14907", "fixedVersions": ["SERVER 6.15.0", "SERVER 7.0.1"], "id": "14907", "issueType": "Improvement", "key": "SERVER-2917", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-12-11T23:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ensure symlink to old cadir has same perms as actual cadir", "timeSpent": "PT0S", "updated": "2020-12-11T23:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Closing this in favor of PE-30479.\u00a0\u00a0", "created": "2020-11-13T14:08:00.000000"}], "components": ["Puppet Server"], "created": "2020-11-13T11:51: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@7ebf47b4"}, {"fieldName": "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": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090t"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8242066_*|*_6_*:*_1_*:*_0"}], "description": "TODO: list symptoms", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "14905", "fixedVersions": [], "id": "14905", "issueType": "Task", "key": "SERVER-2916", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "resolution": "Duplicate", "resolutionDate": "2020-11-13T14:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Debug Cust 0 multithreaded environment cache problem", "timeSpent": "PT0S", "updated": "2020-11-13T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-11-12T12:51: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@9f87255"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000009"}, {"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_*:*_62611_*|*_10007_*:*_1_*:*_86567707_*|*_3_*:*_1_*:*_12375479_*|*_5_*:*_1_*:*_0"}], "description": "We should give the server docs a once-over as part of the work form Platform 7, to see if there are any obvious areas where language can be cleaned up, particularly around removing references to Puppet Server as \"new\" or \"experimental\" or an alternative to a native Ruby master.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15486", "fixedVersions": [], "id": "15486", "issueType": "Improvement", "key": "SERVER-2915", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-11-13T16:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make a pass of Server docs for Platform 7", "timeSpent": "PT0S", "updated": "2020-11-13T16:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-11-11T17:38:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25f37151"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:40900000c"}, {"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_*:*_64929142_*|*_1_*:*_1_*:*_11013_*|*_10007_*:*_1_*:*_8291277_*|*_3_*:*_1_*:*_3239157_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_70556371"}], "description": "Update the 'project' query params taken by [the {{/file_content}} and {{/file_metadatas}} endpoints|https://github.com/puppetlabs/puppetserver/blob/ceb5365b741ff9f8675097d8c159d222dc7fff21/src/clj/puppetlabs/services/master/master_core.clj#L997-L1001] to be 'versioned_project' instead. This makes clearer that the data is a combination of project id and ref.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15484", "fixedVersions": ["SERVER 6.15.0", "SERVER 7.0.1"], "id": "15484", "issueType": "Improvement", "key": "SERVER-2914", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2020-11-13T10:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Change file serving 'project' query params to 'versioned_project'", "timeSpent": "PT0S", "updated": "2020-12-10T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-11-10T10:45: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@e612d3d"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04zvk:"}, {"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": "Removes many default cipher suites from use when contacting Puppet Server, may break old on very old platforms. Brings FOSS into modern best practices and in alignment with PE."}, {"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_*:*_23407201_*|*_1_*:*_1_*:*_14348_*|*_10007_*:*_1_*:*_1255667_*|*_3_*:*_2_*:*_873751_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_12460"}], "description": "In Server 6.5 we upgrade to a Jetty version that began warning when weak cipher suites were used. Unfortunately, many of the cipher suites used by default in the 6.x series cause these warnings to be issued. In Puppet 7 we should restrict ourselves to only the cipher suites that Jetty considers strong.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "16283", "fixedVersions": ["SERVER 7.0.0"], "id": "16283", "issueType": "Improvement", "key": "SERVER-2913", "labels": [], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2020-11-10T17:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove deprecated cipher suites", "timeSpent": "PT0S", "updated": "2020-11-10T17:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T09:46:00.000000"}], "components": [], "created": "2020-11-09T16:18: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@71cb8ad"}, {"fieldName": "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": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04z5k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_590974093_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41203133787"}], "description": "We added the ability for the server to run trusted external commands, see https://github.com/puppetlabs/puppet/blob/eadd5474c26e7d28d90de00b9d7a7545ac10e55d/lib/puppet/trusted_external.rb#L34. We need to collect metrics for these commands since they are called server-side and can degrade compiler performance. This is similar to adding metrics for automatic class parameter lookups.\n\n/cc [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b], [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "16944", "fixedVersions": [], "id": "16944", "issueType": "Task", "key": "SERVER-2912", "labels": [], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Won't Do", "resolutionDate": "2022-03-08T09:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ensure metrics are collected for trusted external commands", "timeSpent": "PT0S", "updated": "2022-03-08T09:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "attachments": [], "comments": [], "components": [], "created": "2020-11-05T16:09:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@39db38e6"}, {"fieldName": "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-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Multithreaded Fixes"}, {"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_purple"}, {"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|o04xh4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_62192378416_*|*_6_*:*_1_*:*_0"}], "description": "Bucket for multithreaded bugs and improvements.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17234", "fixedVersions": [], "id": "17234", "issueType": "Epic", "key": "SERVER-2911", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Won't Do", "resolutionDate": "2022-10-26T12:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Multithreaded Fixes", "timeSpent": "PT0S", "updated": "2022-10-26T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The PE release this went into is still a ways out because the date got moved, so I'm going to track this task elsewhere so it doesn't clutter the sprint.", "created": "2021-01-19T13:01:00.000000"}], "components": [], "created": "2020-10-30T15:35:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@717b12b2"}, {"fieldName": "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-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:ei"}, {"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/Jan/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2291461_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6990500190"}], "description": "(Initial planned release date: 2021-01-19)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2021-01-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "15717", "fixedVersions": [], "id": "15717", "issueType": "Task", "key": "SERVER-2910", "labels": [], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-19T13:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.15.0)", "timeSpent": "PT0S", "updated": "2021-01-19T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@787bc15f"}, {"fieldName": "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-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:e"}, {"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_*:*_2294221_*|*_10007_*:*_1_*:*_2540771_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6652814013"}], "description": "(Initial planned release date: 2021-01-19)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2021-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "15259", "fixedVersions": [], "id": "15259", "issueType": "Task", "key": "SERVER-2909", "labels": [], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-15T15:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.15.0)", "timeSpent": "PT0S", "updated": "2021-01-15T15:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3edc979f"}, {"fieldName": "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-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:di"}, {"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_*:*_2223948_*|*_3_*:*_1_*:*_879814_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6652153442"}], "description": "(Initial planned release date: 2021-01-19)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.15.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2021-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "14903", "fixedVersions": [], "id": "14903", "issueType": "Task", "key": "SERVER-2908", "labels": [], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-15T15:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.15.0)", "timeSpent": "PT0S", "updated": "2021-01-15T15:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a950fcd"}, {"fieldName": "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-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:d"}, {"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_*:*_2293933_*|*_10007_*:*_1_*:*_324313931_*|*_3_*:*_2_*:*_1178299_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_6651646614"}], "description": "(Initial planned release date: 2021-01-19)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md].\n\n* Search for tickets with {{fixVersion = \"SERVER 6.15.0\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2021-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "17532", "fixedVersions": [], "id": "17532", "issueType": "Task", "key": "SERVER-2907", "labels": [], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-19T09:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.15.0)", "timeSpent": "PT0S", "updated": "2021-01-19T09:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:34:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43f03a37"}, {"fieldName": "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-10762"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o05cfz:ci"}, {"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_*:*_2292295_*|*_3_*:*_1_*:*_773504_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6571319702"}], "description": "(Initial planned release date: 2021-01-19)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2021-01-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "estimate": "PT0S", "externalId": "17232", "fixedVersions": [], "id": "17232", "issueType": "Task", "key": "SERVER-2906", "labels": [], "originalEstimate": "PT0S", "parent": "26668", "parentSummary": "Puppet Platform 6.20.0 Release - 2021-01-20", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2021-01-14T16:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.15.0)", "timeSpent": "PT0S", "updated": "2021-01-14T16:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65277a2f"}, {"fieldName": "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-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000n9"}, {"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_*:*_522971735_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1539140580"}], "description": "(Initial planned release date: 2020-11-17)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-11-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "16282", "fixedVersions": ["None"], "id": "16282", "issueType": "Task", "key": "SERVER-2905", "labels": [], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-23T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-23T11:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f9d697b"}, {"fieldName": "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-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000001r"}, {"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_*:*_1327674_*|*_10007_*:*_1_*:*_63751197_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1072180285"}], "description": "(Initial planned release date: 2020-11-17)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-11-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "15716", "fixedVersions": [], "id": "15716", "issueType": "Task", "key": "SERVER-2904", "labels": [], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-12T18:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-12T18:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Release is here: http://builds.delivery.puppetlabs.net/puppetserver/7.0.0/", "created": "2020-11-16T20:21:00.000000"}], "components": [], "created": "2020-10-30T15:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5d14e222"}, {"fieldName": "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-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000001i"}, {"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": "17/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1155844_*|*_3_*:*_1_*:*_416717665_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1073013864"}], "description": "(Initial planned release date: 2020-11-17)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 7.0.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-11-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "15481", "fixedVersions": ["None"], "id": "15481", "issueType": "Task", "key": "SERVER-2903", "labels": [], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-16T20:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-23T11:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-10-30T15:13:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ff74a35"}, {"fieldName": "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-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000001c"}, {"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_*:*_1237623_*|*_10007_*:*_1_*:*_122478066_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1071808403"}], "description": "(Initial planned release date: 2020-11-17)\n\nWrite release notes for the release based on the tickets found in the previous step:\n  *Note:* for 5.x, these release notes are in the [puppetserver repo|https://github.com/puppetlabs/puppetserver/blob/5.3.x/documentation/release_notes.markdown], but for 6.x and beyond, they live in the [osp docs repo|https://github.com/puppetlabs/osp-docs/blob/latest/server/release_notes.md].\n\n* Search for tickets with {{fixVersion = \"SERVER 7.0.0\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2020-11-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "15256", "fixedVersions": [], "id": "15256", "issueType": "Task", "key": "SERVER-2902", "labels": [], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-13T10:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-13T10:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{code}\npuppetserver (7.0.0_release) :: ruby ../../tools/ticketmatch/ticketmatch.rb     \nEnter Git From Rev: 6.x\nEnter Git To Rev: |master| main\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER main| SERVER 7.0.0\n(Optional) Enter JIRA team name:\n\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100 10275    0 10106  100   169  64782   1083 --:--:-- --:--:-- --:--:-- 65445\n\n....snip....\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 7.0.0)\nI18N\nPUP-10386\nPUP-10656\nPUP-10720\nSERVER-2870\nSERVER-2876\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n\nEverything looks good except for the commit tokens w/o 'SERVER 7.0.0' fix version. The three PUP ticket (PUP-10386, PUP-10656, \nPUP-10720) all were primarily Puppet tickets that ended up having a small follow on commit to enable, etc. They also have the proper 'PUPPET 7.0.0' fix version. So I'm going to ignore them.\n\nSERVER-2870 - Use Puppet APIs appropriately for terminology updates, was partially done for this release. Essentially we updated to the new APIs where using the old APIs triggered a deprecation warning. We will finish the ticket my moving to the other, non-deprecation throwing APIs, as part of 7.x follow work.\n\nSERVER-2876 - Server project file content, was merged into the '6.x' stream and part of it was merged up into the 'main' branch but has not yet been released in any stream.", "created": "2020-11-11T18:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We've merged up/cherry picked as needed and are going to use [6f77c8c36b6|https://github.com/puppetlabs/puppetserver/commit/6f77c8c36b639958a138255493fb1e38d93ee61f].", "created": "2020-11-11T22:19:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've built the above commit and it's available at http://builds.delivery.puppetlabs.net/puppetserver/7.0.0.SNAPSHOT.2020.11.12T0821/", "created": "2020-11-12T01:33:00.000000"}], "components": [], "created": "2020-10-30T15:12:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41dfade6"}, {"fieldName": "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-10743"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000016"}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1206018_*|*_3_*:*_1_*:*_16685303_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1048110810"}], "description": "(Initial planned release date: 2020-11-17)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-11-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "estimate": "PT0S", "externalId": "14901", "fixedVersions": [], "id": "14901", "issueType": "Task", "key": "SERVER-2901", "labels": [], "originalEstimate": "PT0S", "parent": "28693", "parentSummary": "Puppet Platform 7.0.0 Release - 2020-11-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-11-11T22:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 7.0.0)", "timeSpent": "PT0S", "updated": "2020-11-12T01:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "Given this is not really causing any issues (other than some added complexity in already-written/working code) the risk/reward for changing this now is not high enough to do for puppet8. Also, puppet config print has performance issues that are not trivial.\u00a0", "created": "2023-01-12T12:32:00.000000"}], "components": ["Puppet Server"], "created": "2020-10-29T12:01: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@15ddc217"}, {"fieldName": "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": "SERVER-3165"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:9"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Dec/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5247_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_69557444093"}], "description": "We've deprecated the old location for the cadir (within in the ssldir) and now by default create it in a new location, but symlink back to the old location for users custom scripts that might not be using {{puppet config print cadir}}. In Puppet 8, we should finally stop creating the symlink to the old location. We should also remove the backwards compatibility mechanism in computing the cadir location. These should be done where appropriate (Puppet, Puppet Server, and the CA CLI tool). This is place holder ticket for that work until we get closer to Puppet 8.", "epicLinkSummary": "Puppet Server 8", "estimate": "PT0S", "externalId": "17229", "fixedVersions": ["SERVER 8.0.0"], "id": "17229", "issueType": "Task", "key": "SERVER-2900", "labels": [], "originalEstimate": "PT0S", "parent": "16890", "parentSummary": "Puppet Server 8", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Fix", "resolutionDate": "2023-01-12T12:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove cadir backwards compatability Puppet 8", "timeSpent": "PT0S", "updated": "2023-01-12T12:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:27665577-1ade-4994-ab15-2c591e26b497", "body": "This JIRA was my rubberduck, I see that a restart is triggered on the puppetserver service. The Error message, that ask to report this to the mainatainers still stand, though.", "created": "2020-10-29T04:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for the report, we have another ticket already for this issue, SERVER-2761. These warnings can be safely ignore, they're a byproduct of our needing support both Java 8 and Java 11. We hope to get them cleaned up at some point when third-party libraries update to avoid the problematic code.", "created": "2020-11-05T15:50:00.000000"}], "components": [], "created": "2020-10-29T04:43:00.000000", "creator": "557058:27665577-1ade-4994-ab15-2c591e26b497", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2c1be822"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o04s0o:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_648439664_*|*_6_*:*_1_*:*_0"}], "description": "The puppetserver says the following in the log:\nOct 29 11:32:00 osl-puppet01 systemd[1]: Starting puppetserver Service...\nOct 29 11:32:11 osl-puppet01 puppetserver[14649]: WARNING: An illegal reflective access operation has occurred\nOct 29 11:32:11 osl-puppet01 puppetserver[14649]: WARNING: Illegal reflective access by dynapath.defaults$fn__16000$fn__16001 (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to method java.net.URLClassLoader.addURL(java.net.URL)\nOct 29 11:32:11 osl-puppet01 puppetserver[14649]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__16000$fn__16001\nOct 29 11:32:11 osl-puppet01 puppetserver[14649]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nOct 29 11:32:11 osl-puppet01 puppetserver[14649]: WARNING: All illegal access operations will be denied in a future release\nOct 29 11:32:38 osl-puppet01 systemd[1]: Started puppetserver Service.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16605", "fixedVersions": [], "id": "16605", "issueType": "Bug", "key": "SERVER-2899", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:27665577-1ade-4994-ab15-2c591e26b497", "resolution": "Duplicate", "resolutionDate": "2020-11-05T15:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver logs Illegal reflective access", "timeSpent": "PT0S", "updated": "2020-11-05T15:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Those paths don't look correct, unless you've reconfigured your container. Puppet's ssldir should be at {{/etc/puppetlabs/puppet/ssl}} and the host cert bundle should be at {{/etc/puppetlabs/puppet/ssl/certs/<hostname>.pem}} and the CA cert at {{/etc/puppetlabs/puppet/ssl/ca/ca_crt.pem}}. Maybe that will help?", "created": "2020-10-27T12:20:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]I think there is some Information missing: The VCenter Certificate is not signed by our Puppet CA. It is signed by another intermediate CA of our Corporate PKI, of which our Puppet CA is another intermediate.\n\nAs far as I understand the path you wrote is for the Puppet CA, isn't it ? Or is it possible to add another CA Certificate to trust it ?", "created": "2020-10-28T00:15:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm sorry, you're right. However, I still don't recognize those paths. Are those paths you chose? Did you configure anything to point to them? I don't think anything placed there would be picked up automatically.", "created": "2020-10-28T09:36:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] In my test I found that the puppet-ca-bundle is stored under `{{/opt/puppetlabs/puppet/ssl/cert.pem}}`. On the agent we added your certificates to this bundle to use the certificates in providers which open connections to https services. Also the included ruby uses this bundle when installing gems.", "created": "2020-10-28T09:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ah, I see. I was asking one of our Docker folks [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] about whether he recognized the {{/opt}} paths, and he mentioned to me that the server container still uses {{/etc}} for files like that. Others (notably the PE versions of the container) have been migrated to {{/opt}}. So while that path may have been correct for the agent's cert bundle, it is not respected by the server. And I think you said you're trying to write a custom function, right? That will be executed by the server, not the agent.\n\nSomething to try: on your server, ask Puppet where it thinks the relevant files live with:\n{{puppet config print hostcert --section master}}\n{{puppet config print localcacert --section master}}\nI _think_ those are the files that will be used to make HTTP requests from Puppet functions.\n\nAs a general note, we may be able to help more in a week or two, we're in the process of prepping for a couple different releases internally right now, so responses might be a bit delayed. Apologies in advance.", "created": "2020-10-30T09:36:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]: Thanks for your reply. The `/etc` path is as far as I understand for the Puppet Certificates (from the PuppetCA, which is in our Case an intermediate CA of our root). In the `localcacert` file the PuppetCA root cert is included. Is there any chance to add an additional CA cert to the truststore ? Not for agent-server communication, only for server to external service communication.\n\n\u00a0", "created": "2020-11-09T03:25:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623a4d3ba9575800695a006d] I think the feature you're looking for is SERVER-1543, which would allow server extensions (such as report processors, functions, hiera backends) to make TLS connections to non-puppet infrastructure.", "created": "2020-11-09T10:50:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "[~accountid:63d40628f6e1b543161789a7] You are right, that's what I'm looking for. Do you have any information when this is planed to be released ?", "created": "2020-11-10T00:05:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I don't think it's been explicitly prioritized, though I think the work that was previously blocking it has been done. I'll look into getting an estimate for you.", "created": "2020-11-16T12:29:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]: Do you have some news about this ? Did you get an estimate ?", "created": "2021-01-14T03:35:00.000000"}], "components": ["Puppet Server"], "created": "2020-10-27T07:23:00.000000", "creator": "623a4d3ba9575800695a006d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@634bb2c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:k"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}], "description": "*Puppet Version: 6.18.0*\n *Puppet Server Version: 6.12.1*\n *OS Name/Version: Puppetserver Docker Container*\n\nI'm currently building a custom function using the [https://github.com/vmware/vsphere-automation-sdk-ruby/] gem.\n\nMy Problem is that I can not connect to the VCenter because of the certificate verification failing.\u00a0 I already added our certificates to the {{/opt/puppetlabs/puppet/ssl/cert.pem}} and {{/opt/puppetlabs/puppet/ssl/puppet-cacerts}} .\n\nAlso when executing a script to connect to vcenter it fails:\n{code:java}\nroot@puppet:/etc/puppetlabs/code# /opt/puppetlabs/bin/puppetserver ruby vsphere_automation.rb\nOpenSSL::SSL::SSLError: certificate verify failed\n                connect at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:1002\n               do_start at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:924\n                  start at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:913\n                request at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:1465\n               call_api at /opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/vsphere-automation-runtime-0.4.7/lib/vsphere-automation-runtime/api_client.rb:71                                                                                                                                  \n  create_with_http_info at /opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/vsphere-automation-cis-0.4.7/lib/vsphere-automation-cis/api/session_api.rb:59                                                                                                                                     \n                 create at /opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/vsphere-automation-cis-0.4.7/lib/vsphere-automation-cis/api/session_api.rb:24                                                                                                                                     \n                 <main> at vsphere_automation.rb:74\n\n{code}\n*Desired Behavior:*\n\nPuppetserver should respect the certificates inside the Puppet CA Bundle + Certificates added to the bundle\n\n*Actual Behavior:*\n\n\u00a0\n\nPuppetserver ignores the Certificates.\n{code:java}\n2020-10-27 13:21:18,567 ERROR [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Function Call, get_vms_by_tag: certificate verify failed (file: /etc/puppetlabs/code/environments/test/modules/test/manifests/init.pp, line: 76, column: 11) on node test.foo.bar                                                                                                \n/etc/puppetlabs/code/environments/test/modules/vsphere_tag/lib/puppet/functions/get_vms_by_tag.rb:102:in `get_vms_by_tag'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'                          \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:43:in `block in dispatch'\norg/jruby/RubyKernel.java:1189:in `catch'                                                           \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatcher.rb:42:in `dispatch'                          \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:46:in `block in call'\norg/jruby/RubyKernel.java:1189:in `catch'                                                     \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/function.rb:45:in `call'                       \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:42:in `stack'                    \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:305:in `block in call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'                      \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:303:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:976:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:945:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'                  \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:370:in `eval_AssignmentExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:94:in `visit_this_1'            \n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:81:in `evaluate'              \n[...]\n\n{code}", "environment": "Official Puppetserver Docker Container with added custom CA certs", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15252", "fixedVersions": [], "id": "15252", "issueType": "Bug", "key": "SERVER-2898", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4d3ba9575800695a006d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA Certificates are not used by Puppetserver", "timeSpent": "PT0S", "updated": "2022-03-09T09:41:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR for this was filed under the linked PE ticket https://github.com/puppetlabs/puppetserver/pull/2433", "created": "2020-10-23T10:59:00.000000"}], "components": [], "created": "2020-10-23T10:57: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@297ff807"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04opc:"}, {"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": "The CA bulk clean endpoint will now log each certname revoked."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_361459596_*|*_1_*:*_1_*:*_9937_*|*_5_*:*_1_*:*_0"}], "description": "The API endpoint for revoking a single certificate logs the certname that was revoked, but new bulk API does not. This makes it a lot harder to keep track of what got revoked when. Originally we did not add logging of the certnames because of the potential for very long log entries, but the benefits of traceability here outweigh that negative. We should add logging for each certname revoked.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15249", "fixedVersions": ["SERVER 5.3.16", "SERVER 6.14.1"], "id": "15249", "issueType": "Improvement", "key": "SERVER-2897", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-10-27T15:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Log all certnames cleaned by the `/puppet-ca/v1/clean` endpoint", "timeSpent": "PT0S", "updated": "2020-10-27T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-10-15T17:28: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@5fa80642"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000003"}, {"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": "Beginning in Puppet 7, the default value for the `cadir` setting will be located in the puppetserver conf directory, specifically at /etc/puppetlabs/puppetserver/ca. Previously, the default location was inside puppet's own ssldir. This change will make it safer to delete the puppet's own `ssldir` without accidentally deleting your CA certificates.\n\nThe puppetserver ca cli provides a `migrate` command to move the ca directory from the puppet conf to the puppetserver conf. It will leave behind a symlink on the old ca location, pointing to the new location at /etc/puppetlabs/puppetserver/ca. This link will provide backwards compatibility for tools still expecting the cadir to exist in the old location. In a future version of puppet, the cadir setting will be removed entirely. "}, {"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_*:*_588404868_*|*_1_*:*_1_*:*_950185256_*|*_10007_*:*_1_*:*_9748068_*|*_3_*:*_1_*:*_417859172_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_172096160"}], "description": "In Puppet 7, we are working to migrate users to a new CA dir location outside of the SSL dir. We want to seamlessly support both halves of this migration, so when computing the settings for the CA CLI tool, the {{cadir}} should be the following:\n * If the setting is configured to something custom, use that (if it is inside the ssldir warn the with the same message as in Puppet, see PUP-10720).\n * If the files are in the old location (/etc/puppetlabs/puppet/ssl/ca), use that but warn with the same messages as in Puppet, see PUP-10720\n * if they're in the new location (/etc/puppetlabs/puppetserver/ca), use that\n * if they're in neither location (i.e. we are boostrapping), use the new one.\n\nThis logic only applies to Puppet 7, so as part of this work, branch the gem to create a 2.0 version for use with Puppet 7+ only.\n\n\u00a0\n\nEnsure there are meaningful integration tests.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "14899", "fixedVersions": ["SERVER 7.0.0"], "id": "14899", "issueType": "Task", "key": "SERVER-2896", "labels": [], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-11-09T10:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update CA CLI settings init to compute CA dir location", "timeSpent": "PT0S", "updated": "2020-11-09T10:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-10-13T17:29: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@7c1b98bf"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000004"}, {"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": "See SERVER-2896 for release notes."}, {"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_*:*_406669756_*|*_1_*:*_2_*:*_523326536_*|*_10007_*:*_1_*:*_99871703_*|*_3_*:*_1_*:*_358023751_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_922940869_*|*_10005_*:*_1_*:*_4198"}], "description": "The puppetserver ca should\u00a0create CA files in the new location ({{/etc/puppetlabs/puppetserver/ca}}) and create a symlink from the old location to the new spot. This includes:\n* {{puppetserver ca setup}} - https://github.com/puppetlabs/puppetserver-ca-cli/blob/6c529f3afe782ad98a7d88f1147e9ec19fcf3d62/lib/puppetserver/ca/action/setup.rb#L74\n* {{puppetserver ca import}} - https://github.com/puppetlabs/puppetserver-ca-cli/blob/6c529f3afe782ad98a7d88f1147e9ec19fcf3d62/lib/puppetserver/ca/action/import.rb#L72\n\nSERVER-2896 should ensure that the {{cadir}} setting has the correct value. This ticket just includes symlinking to the old cadir.\n\nSee SERVER-2760 for analogous change to puppetserver's internal CA init code.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "14898", "fixedVersions": ["SERVER 7.0.0"], "id": "14898", "issueType": "Task", "key": "SERVER-2895", "labels": [], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-11-09T10:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update `puppetserver ca setup` to create CA files in new location w/ symlink", "timeSpent": "PT0S", "updated": "2020-11-13T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-10-13T17: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@5fd5b1cb"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbwzs"}, {"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 CLI command, `puppetserver ca migrate` that will move the contents of the CA dir from its current location to `/etc/puppetlabs/puppetserver/ca`. It also creates a symlink at the old location, pointing to the new directory. After running this command, it will be harder to accidentally delete the CA dir as part of cleaning up the client-side ssldir."}, {"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_*:*_155233320_*|*_1_*:*_1_*:*_70319800_*|*_10007_*:*_1_*:*_333151237_*|*_3_*:*_1_*:*_709464142_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_84311313"}], "description": "In order to make it harder for users to delete their CA directories, we want to create a new {{puppetserver ca}} CLI command that:\n * moves their CA files to the new location ({{/etc/puppetlabs/puppetserver/ca}}) from the current configured location.\n * Creates a symlink from the old location to the new location\n * Errors informatively if the files are already in the new location\n * Does not allow the user to choose the destination.\n\nThis command should be usable in Puppet 6, to help people migrate before upgrade to avoid warnings.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "17531", "fixedVersions": ["SERVER 6.15.0", "SERVER 7.0.0"], "id": "17531", "issueType": "Task", "key": "SERVER-2894", "labels": [], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-10-29T09:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create `puppetserver ca migrate` command", "timeSpent": "PT0S", "updated": "2021-02-19T14:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-10-09T10: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@93cd5f6"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:9z"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "Currently we have some promotion automation that triggers on a release of clj-parent to promote the new version automatically into puppetserver. This lives in CJC, and is not easily configurable across branches and does not scale well to additional projects.\n\nWe should look into moving this to a Jenkinsfile in the clj-parent repo, where we can take advantage of per-branch configuration and the more straightforward scripting available in that format.\n\nJenkinsfile docs: https://www.jenkins.io/doc/book/pipeline/jenkinsfile/\n\n*Alternatively*, maybe a better model is a poll-style job for each consuming repo, similar to what we do to update the puppet submodule pin in Puppet Server. Each repo that wants auto-updates for clj-parent polls for a new tag once a day (or however often) and pulls it in after running the repo's tests.\n\n*Outcome*\nProof of concept. Focus on an implementation for a single repo. (perhaps start with trying this for pe-pse) ", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15479", "fixedVersions": [], "id": "15479", "issueType": "Improvement", "key": "SERVER-2893", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move clj-parent promotion to Jenkinsfile", "timeSpent": "PT0S", "updated": "2022-03-09T09:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:36:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16b94885"}, {"fieldName": "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-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04ffs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1223_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3178909296"}], "description": "(Initial planned release date: 2020-10-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "15476", "fixedVersions": [], "id": "15476", "issueType": "Task", "key": "SERVER-2892", "labels": [], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-11-13T10:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.14.0)", "timeSpent": "PT0S", "updated": "2020-11-13T10:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:36:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3647e48d"}, {"fieldName": "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-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04ffc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1149_*|*_10007_*:*_1_*:*_9915282_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_752436311"}], "description": "(Initial planned release date: 2020-10-20)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "14897", "fixedVersions": [], "id": "14897", "issueType": "Task", "key": "SERVER-2891", "labels": [], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-16T12:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.14.0)", "timeSpent": "PT0S", "updated": "2020-10-16T12:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:36:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@446e4067"}, {"fieldName": "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-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04ff4:"}, {"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_*:*_1111_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_752306302"}], "description": "(Initial planned release date: 2020-10-20)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.14.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "17530", "fixedVersions": [], "id": "17530", "issueType": "Task", "key": "SERVER-2890", "labels": [], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-16T09:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.14.0)", "timeSpent": "PT0S", "updated": "2020-10-16T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR: https://github.com/puppetlabs/osp-docs/pull/72", "created": "2020-10-19T14:24:00.000000"}], "components": [], "created": "2020-10-07T16:36:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5074caa0"}, {"fieldName": "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-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04few:"}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1171_*|*_10007_*:*_1_*:*_80716295_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1028831797"}], "description": "(Initial planned release date: 2020-10-20)\n\nWrite [release notes|https://github.com/puppetlabs/puppetserver/blob/master/documentation/release_notes.markdown] for the release based on the tickets found in the previous step:\n* Search for tickets with {{fixVersion = \"SERVER 6.14.0\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2020-10-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "17227", "fixedVersions": [], "id": "17227", "issueType": "Task", "key": "SERVER-2889", "labels": [], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-20T12:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.14.0)", "timeSpent": "PT0S", "updated": "2020-10-20T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Everything looks good here, tickets are in order and the SNAPSHOT version is correct.", "created": "2020-10-14T13:03:00.000000"}], "components": [], "created": "2020-10-07T16:36:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@447ced8d"}, {"fieldName": "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-10700"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04feo:"}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1129_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_592031234"}], "description": "(Initial planned release date: 2020-10-20)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-10-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "16943", "fixedVersions": [], "id": "16943", "issueType": "Task", "key": "SERVER-2888", "labels": [], "originalEstimate": "PT0S", "parent": "25512", "parentSummary": "Puppet Platform 6.19.0 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-14T13:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.14.0)", "timeSpent": "PT0S", "updated": "2020-10-16T11:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Put up [https://github.com/puppetlabs/winston/pull/348] to add story points to our release tickets.", "created": "2020-10-16T12:46:00.000000"}], "components": [], "created": "2020-10-07T16:34:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3a078d9d"}, {"fieldName": "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-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:40900000g"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1371_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3179066573"}], "description": "(Initial planned release date: 2020-10-20)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-10-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "16942", "fixedVersions": [], "id": "16942", "issueType": "Task", "key": "SERVER-2887", "labels": [], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-11-13T10:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-11-13T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@326bed08"}, {"fieldName": "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-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04f7k:"}, {"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_*:*_1194_*|*_10007_*:*_1_*:*_467749_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_64493083"}], "description": "(Initial planned release date: 2020-10-20)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-10-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "16281", "fixedVersions": [], "id": "16281", "issueType": "Task", "key": "SERVER-2886", "labels": [], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-08T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 5.3.15)", "timeSpent": "PT0S", "updated": "2020-10-09T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c96874c"}, {"fieldName": "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-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04f7c:"}, {"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_*:*_1036_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_64489603"}], "description": "(Initial planned release date: 2020-10-20)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 5.3.14 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-10-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "16058", "fixedVersions": [], "id": "16058", "issueType": "Task", "key": "SERVER-2885", "labels": [], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-08T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-10-09T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@f7a22fb"}, {"fieldName": "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-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04f74:"}, {"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_*:*_1189_*|*_10007_*:*_2_*:*_118088975_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_929975855_*|*_10006_*:*_1_*:*_61657402"}], "description": "(Initial planned release date: 2020-10-20)\n\nWrite [release notes|https://github.com/puppetlabs/puppetserver/blob/master/documentation/release_notes.markdown] for the release based on the tickets found in the previous step:\n * Search for tickets with {{fixVersion = \"SERVER 5.3.15\"}}.\n * Check each ticket's DOCS tab for the necessary release notes.\n * Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n * The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n * Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.", "duedate": "2020-10-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "15714", "fixedVersions": [], "id": "15714", "issueType": "Task", "key": "SERVER-2884", "labels": [], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-20T12:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 5.3.15)", "timeSpent": "PT0S", "updated": "2020-10-20T12:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-10-07T16:33:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9973dec"}, {"fieldName": "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-10690"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o04f6w:"}, {"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_*:*_1260_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_58794302"}], "description": "(Initial planned release date: 2020-10-20)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-10-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "estimate": "PT0S", "externalId": "15432", "fixedVersions": [], "id": "15432", "issueType": "Task", "key": "SERVER-2883", "labels": [], "originalEstimate": "PT0S", "parent": "29758", "parentSummary": "Puppet Platform 5.5.22 Release - 2020-10-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2020-10-08T08:53:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.15)", "timeSpent": "PT0S", "updated": "2020-10-09T09:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "body": "ping Former user", "created": "2020-09-21T14:08:00.000000"}, {"author": "qm:f7b4bc64-445a-440e-8354-a55854c39cee:101ef854-ea25-4a6e-8fd8-b335c7b12963", "body": "Thanks for opening this ticket [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b].\n\nIndeed, I've discussed with the cert-manager developers about this recently, and while they can (and probably will) make it so that we can remove the key usage requests in CSR produced by cert-manager, this will be a mandatory option to use with the Puppet CA issuer unless the Puppet CA accepts these extensions.\n\nSo, I guess it would be great to make it possible for the Puppet CA to accept extra extensions.\n\nFor the record, this is what happens when I try to sign the CSR issued by cert-manager (HTTP reply using curl):\n\n\u00a0\n{code:java}\n\u200bFound\u00a0extensions\u00a0that\u00a0are\u00a0not\u00a0permitted:\u00a02.5.29.15,\u00a02.5.29.37\n{code}\n\u00a0", "created": "2020-09-21T16:37:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Usually the CA/issuer decides which keyUsages and\u00a0extendedKeyUsages extensions to include in the *certificate* rather than the subject that generates the *request* (CSR). Otherwise the subject might be able to get the CA to issue a cert for purposes other than what the CA intended. For example, if the CA only issues certs with extendedKeyUsage {{id-kp-serverAuth}} and {{id-kp-ClientAuth}}, then the subject might be able to slip through a CSR containing the {{id-kp-codeSigning}} extension. If so, then the subject could use the private key/cert to sign code in a way that other clients, etc would accept.", "created": "2020-09-28T13:48:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] thoughts on this?", "created": "2020-10-27T12:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think Josh is right that the CA usually controls the extensions, though I think it'd also be fine for us to add more to the extensions we allow in the CSR. For this exact use case i think folks have already solved the workflow they were hoping for: https://github.com/camptocamp/puppetca-issuer", "created": "2020-10-27T16:26:00.000000"}], "components": ["Certificate Authority"], "created": "2020-09-21T14:07:00.000000", "creator": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64f9927b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o045ls:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3897919854_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_42156030628"}], "description": "I ran into the [Puppet CA issuer|https://github.com/camptocamp/puppetca-issuer] project the other day and it's pretty cool. It's basically the glue layer that lets [cert-manager|https://cert-manager.io/] issue certificates for your k8s infrastructure from the Puppet CA.\n\nEspecially in OSP, it's super common for ops to use Puppet for their infra apps. This could be a valuable cloud integration.\n\nThe problem is that the current cert-manager uses the KeyUsage and ExtKeyUsage CSR extensions and the Puppet CA rejects those. Is there a reason we can't accept them?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15429", "fixedVersions": [], "id": "15429", "issueType": "Improvement", "key": "SERVER-2881", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The CA should accept KeyUsage and ExtKeyUsage extensions", "timeSpent": "PT0S", "updated": "2022-03-08T13:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] have you seen this? Is this a general problem?", "created": "2020-10-27T12:31:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I think this is expected behavior. The Puppet timers are arranged in a tree structure where branch nodes, like {{compiler}}, are updated with timings generated by every node under them in the hierarchy:\n\nhttps://github.com/puppetlabs/puppet/blob/6.19.1/lib/puppet/util/profiler/aggregate.rb#L28-L38\n\nTherefore, leaf nodes like {{compiler.compile}} should be queried to find the time for a specific operation like catalog compilation. Querying {{compiler}} will get you an aggregate that also includes {{compiler.find_node}}, {{compiler.find_facts}}, etc. , etc.\n\nPersonally, I don't find the aggregate metrics that useful (or accurate). It's better to do these sorts of roll-ups in a time series database like InfluxDB or Prometheus that gives you control over which measurements are aggregated. I would be in favor of dropping these aggregates if they are causing confusion.", "created": "2020-10-27T15:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should file another ticket to remove these aggregate metrics then, I think. I'm going to close this, since it's working as expected.", "created": "2020-11-05T15:55:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Filed https://puppet.atlassian.net/browse/SERVER-2919 for removing the aggregate metrics.", "created": "2020-11-16T22:13:00.000000"}], "components": ["API"], "created": "2020-09-14T08:49:00.000000", "creator": "557058:1a5cd6d8-54ba-4a8b-9e14-caf12e5b1b80", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2785d446"}, {"fieldName": "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": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o040bk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4521966686_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\u00a06.16.0 /\u00a0 5.5.20\n *Puppet Server Version:*\u00a06.12.0 /\u00a05.3.11\n *OS Name/Version:* CentOS 7\n\nWe're building Grafana dashboard based on Puppetserver Metrica API v2 (jolokia).\n\npuppetserver:name=puppetlabs.localhost.compiler.compile metric value is always higher than\u00a0puppetserver:name=puppetlabs.localhost.compiler metric value.\n\n*Desired Behavior:*\nI know which metric is full compilation time and which is just catalog compilation part.\n\n*Actual Behavior:*\n\nReferring to [documentation|https://puppet.com/docs/puppetserver/6.3/puppet_server_metrics.html#statistical-metrics] \n\n{quote}\npuppetlabs.<MASTER-HOSTNAME>.compiler: The time spent compiling catalogs. This metric represents the sum of the compiler.compile, static_compile, find_facts, and find_node fields.\n{quote}\nbut in my case compiler.compile is always higher than just compiler and couldn't be a subset of it.\n\n\u00a0{code}\n# curl -sk https://127.0.0.1:8140/metrics/v2/read/puppetserver:name=puppetlabs.localhost.compiler  | jq\n{\n  \"request\": {\n    \"mbean\": \"puppetserver:name=puppetlabs.localhost.compiler\",\n    \"type\": \"read\"\n  },\n  \"value\": {\n    \"StdDev\": 1611.637967925645,\n    \"Mean\": 233.36386353321265,\n    \"75thPercentile\": 15,\n    \"98thPercentile\": 3008,\n    \"RateUnit\": \"events/second\",\n    \"95thPercentile\": 487,\n    \"99thPercentile\": 6280,\n    \"Max\": 31936,\n    \"Count\": 105378640,\n    \"FiveMinuteRate\": 280.2831826603821,\n    \"50thPercentile\": 3,\n    \"MeanRate\": 247.01315875890023,\n    \"Min\": 0,\n    \"OneMinuteRate\": 222.1942582565626,\n    \"DurationUnit\": \"milliseconds\",\n    \"999thPercentile\": 31936,\n    \"FifteenMinuteRate\": 268.26695091062504\n  },\n  \"timestamp\": 1600094472,\n  \"status\": 200\n}\n{code}\n{code}\n# curl -sk https://127.0.0.1:8140/metrics/v2/read/puppetserver:name=puppetlabs.localhost.compiler.compile  | jq\n{\n  \"request\": {\n    \"mbean\": \"puppetserver:name=puppetlabs.localhost.compiler.compile\",\n    \"type\": \"read\"\n  },\n  \"value\": {\n    \"StdDev\": 7496.078949260645,\n    \"Mean\": 21326.983928565518,\n    \"75thPercentile\": 27335,\n    \"98thPercentile\": 40781,\n    \"RateUnit\": \"events/second\",\n    \"95thPercentile\": 33648,\n    \"99thPercentile\": 40781,\n    \"Max\": 72540,\n    \"Count\": 174591,\n    \"FiveMinuteRate\": 0.4633366522408939,\n    \"50thPercentile\": 18941,\n    \"MeanRate\": 0.4093234786658156,\n    \"Min\": 7898,\n    \"OneMinuteRate\": 0.3611410959643604,\n    \"DurationUnit\": \"milliseconds\",\n    \"999thPercentile\": 40781,\n    \"FifteenMinuteRate\": 0.44517883102519196\n  },\n  \"timestamp\": 1600094478,\n  \"status\": 200\n}\n{code}\n\n\u00a0", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "16056", "fixedVersions": [], "id": "16056", "issueType": "Bug", "key": "SERVER-2878", "labels": [], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1a5cd6d8-54ba-4a8b-9e14-caf12e5b1b80", "resolution": "Won't Do", "resolutionDate": "2020-11-05T15:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver compiler metrics inconsistency", "timeSpent": "PT0S", "updated": "2020-11-16T22:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{ensure_resource}} function is provided in stdlib and it will raise a duplicate resource error if the same resource is referenced with different parameters. Note the source parameters are different (client vs server):\n\nsource => \"puppet:///modules/${module_name}/etc/openvpn/certificates/client/${basename($openvpnConf['cert'])}\",\nsource => \"puppet:///modules/${module_name}/etc/openvpn/certificates/server/${basename($openvpnConf['cert'])}\",", "created": "2020-09-09T10:31:00.000000"}], "components": ["Puppet Server"], "created": "2020-09-09T02:39:00.000000", "creator": "62438586fd5e4500704327b2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6fb5cd5c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o03y7k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_28381882_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.17*\n *Puppet Server Version: 6.12*\n *OS Name/Version: Ubuntu 18 LTS*\n\n\u00a0\n{noformat}\nhelmut@mail:~$ sudo puppet agent -t -v\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: File[/etc/openvpn/certificates/cert.crt] is already declared at (file: /etc/puppetlabs/code/modules/openvpn/manifests/init.pp, line: 103); cannot redeclare (file: /etc/puppetlabs/code/modules/openvpn/manifests/init.pp, line: 183) (file: /etc/puppetlabs/code/modules/openvpn/manifests/init.pp, line: 183, column: 7) on node mail\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nhelmut@mail:~$\n{noformat}\n\nLine 103:\n{code:puppet}\n ensure_resource('file', \"${openvpnConf['cert']}\", {\n mode => '0644',\n owner => \"${rootUID}\",\n group => \"${rootGID}\",\n source => \"puppet:///modules/${module_name}/etc/openvpn/certificates/client/${basename($openvpnConf['cert'])}\",\n require => Package[\"${openvpnPackage}\"],\n notify => Service[\"${openvpnService}\"],\n })\n{code}\n\nLine 183:\n{code:puppet}\n ensure_resource('file', \"${openvpnConf['cert']}\", {\n mode => '0644',\n owner => \"${rootUID}\",\n group => \"${rootGID}\",\n source => \"puppet:///modules/${module_name}/etc/openvpn/certificates/server/${basename($openvpnConf['cert'])}\",\n require => Package[\"${openvpnPackage}\"],\n notify => Service[\"${openvpnService}\"],\n })\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16279", "fixedVersions": [], "id": "16279", "issueType": "Bug", "key": "SERVER-2877", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62438586fd5e4500704327b2", "resolution": "Incomplete", "resolutionDate": "2020-09-09T10:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "ensure_resource does not work", "timeSpent": "PT0S", "updated": "2020-09-09T10:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2020-09-03T12:59:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@da655f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000001"}, {"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_*:*_89370166_*|*_1_*:*_1_*:*_173389_*|*_10007_*:*_2_*:*_428230395_*|*_3_*:*_1_*:*_3223835593_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2237399056"}], "description": "Serve from the lib (and manifest?) subdirectories of modules.\n\nDoes this also need to support serving from top level subdirectories?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17529", "fixedVersions": ["SERVER 6.15.0", "SERVER 7.0.1"], "id": "17529", "issueType": "New Feature", "key": "SERVER-2876", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2020-11-11T16:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Serve file_content for pluginsync from bolt projects", "timeSpent": "PT0S", "updated": "2020-12-10T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This looks like the result of several Ruby code behaviors that need to be fixed in the PUP project, but filing the overall ticket here as there is interplay with Puppet Server's JRuby behavior.", "created": "2020-09-02T17:11:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Filed PUP-10657 for one way to cause this leak using Resource Collectors.", "created": "2020-09-02T17:17:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This leak also shows up in PE as a result of how the {{new()}} function caches references:\n\nhttps://puppet.com/docs/puppet/6.18/function.html#new\n\nHowever, I haven't yet been able to isolate that behavior using FOSS Puppet Server.", "created": "2020-09-02T17:18:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I was able to isolate the leak in the {{new()}} to the use of Data Type casts. Filed PUP-10659 for that.", "created": "2020-09-04T09:53:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]\u00a0the two issues causing this in Puppet are resolved.\u00a0 Can we consider this resolved by those being resolved?", "created": "2020-10-02T10:26:00.000000"}, {"author": "557058:dc702caf-5630-4bcc-9efa-066ea2fc3530", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]\u00a0think it's waiting for the next release of PE's in November?", "created": "2020-10-02T11:09:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] The two linked issues resolve the out-of-the-box instances of retained compilers. I think it would be a good idea to examine a PE nightly running a non-triavial code base for retention before calling this ticket closed --- maybe the ops team could help with that?", "created": "2020-10-05T10:50:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]\u00a0Can/should we add the number of retained compilers to the puppet-metrics-collector?\u00a0\u00a0\n\n\u00a0\n\nThe debugging command you provided above forces a full GC is there something that can be run in metrics that is light-weight and we can graph over time?\u00a0\u00a0", "created": "2020-10-05T11:33:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "A full GC is needed to determine if the instance is \"retained\" or \"there, but not taken out with the trash yet\". Java GC is lazy and will quit early with garbage left if it has taken enough trash out and the application pause time is going over the configured target.\n\nAs for adding this to the collector, viewing it with {{jmap}} requires JRuby class reification to be on which does have overhead somewhere in the neighborhood of 5% -- 10%. Adding an internal counter for it would be ticky without creating a reference that could keep the object alive. Maybe a \"weak\" reference might work?", "created": "2020-10-05T11:42:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "So what would it look like for OPs to test this?\u00a0 How often do we need to run the command that causes the full GC and gives us the data that we want?\u00a0\u00a0\n\nJust guessing, something like 1-4 times a day?\u00a0 Then we can track the numbers over a few days?\u00a0\u00a0\n\nSo a cronjob on a TBD interval running the command and appending the results to a file?\u00a0\u00a0", "created": "2020-10-07T13:33:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "If it's ok to block port 8140 for a few minutes, then this should give a really clear picture:\n\n  - Upgrade to a nightly build that includes fixes for the linked PUP tickets.\n\n  - Ensure the {{pe-java11-devel}} package is installed so that {{jmap}} is available.\n\n  - Add {{\"Djruby.reify.classes\": \"=true\"}} to {{puppet_enterprise::profile::master::java_args}} so that Complier objects are visible to {{jmap}}.\n\n  - Let Puppet Server serve catalogs for a day or so, then suspend traffic and examine the heap:\n\n{code:bash}\n# Block new connections to 8140 (could also drop compiler from load balancer, if that is an option)\niptables -A INPUT -p tcp --dport 8140 -j REJECT\n\n# Wait until netstat reports no external connections to port 8140\n\nsudo -u pe-puppet $(find /opt/puppetlabs/server/apps -name jmap) -histo:live $(systemctl show -p MainPID pe-puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n\n# If grep picks up any rubyobj.Puppet.Parser.Compiler instances, capture a full heap dump\nsudo -u pe-puppet $(find /opt/puppetlabs/server/apps -name jmap) -dump:live,format=b,file=/tmp/puppet_server.hprof $(systemctl show -p MainPID pe-puppetserver|cut -d= -f2)\n\n# Or, re-add the compiler to the load balancer\niptables -D INPUT -p tcp --dport 8140 -j REJECT\n{code}\n\n  - Remove {{Djruby.reify.classes}} from JAVA_ARGS.\n\nIf {{jmap -histo}} picks up any Compiler instances when no API traffic is being handled, then we are retaining Compilers in memory after requests finish.", "created": "2020-10-07T14:41:00.000000"}], "components": [], "created": "2020-09-02T17:10:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4678f900"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0u96r"}, {"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": "40701"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Oct/20"}], "description": "When Puppet Server handles an API request for a catalog, an instance of {{Puppet::Parser::Compiler}} is created to generate the catalog from inputs supplied by the client. This Compiler instance is discarded after the API request finishes and should be destroyed by the Java garbage collector as it contains a lot of state that is not useful once the request is completed.\n\nPuppet Server is retaining a handful of these Compiler instances after their requests finish which bloats the memory footprint of the service and can lead to out of memory errors if the retained Compilers happen to have built particularly large catalogs.\n\n\nh2. Reproduction Case\n\n  - Install PE 2019.8 on CentOS 7 with the following debug configuration in pe.conf:\n\n{code}\n\"puppet_enterprise::master::puppetserver::jruby_max_active_instances\": 1\n\"puppet_enterprise::profile::master::java_args\": {\n    \"Djruby.reify.classes\": \"=true\"\n}\n{code}\n\n  - Install the development tools for {{pe-java}}:\n\n{code:bash}\nyum install -y pe-java11-devel\n{code}\n\n  - Run {{puppet}} a couple of times:\n\n{code:bash}\npuppet agent -t\npuppet agent -t\n{code}\n\n  - Check the number of {{Puppet::Parser::Compiler}} instances retained in Puppet Server memory:\n\n{code:bash}\nsudo -u pe-puppet $(find /opt/puppetlabs/server/apps -name jmap) -histo:live $(systemctl show -p MainPID pe-puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n{code}\n\nh3. Outcome\n\nAfter running the agent twice, the {{puppetserver}} service is retaining two Compiler instances in memory:\n\n{noformat}\n# sudo -u pe-puppet $(find /opt/puppetlabs/server/apps -name jmap) -histo:live $(systemctl show -p MainPID pe-puppetserver|cut -d= -f2)|fgrep 'rubyobj.Puppet.Parser.Compiler'\n\n6172:             2             64  rubyobj.Puppet.Parser.Compiler\n{noformat}\n\nh3. Expected Outcome\n\nNo compiler instances should be retained as the compiler is discarded at the end of the request and the {{-histo:live}} flag forces a full garbage collection.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15246", "fixedVersions": [], "id": "15246", "issueType": "Bug", "key": "SERVER-2874", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server retains Compiler objects after requests finish", "timeSpent": "PT0S", "updated": "2022-03-09T09:32:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c12521c7f6a007049e8fc] puppet6 no longer supports passenger as described in the 5.5 documentation. You'll want to transition to puppetserver, or ask in puppet slack for more information.", "created": "2020-09-01T09:30:00.000000"}, {"author": "623c12521c7f6a007049e8fc", "body": "Hi Cooper, Thanks for your replay, \nI have few question\n\n1) If I try to install passenger on 5.5 open source. I am unable to find the config.ru rack file to complete the installation process.\n\n2)\u00a0puppet in 6.18 instead of\u00a0 passenger what alternet is there ?\n\n\u00a0\n\nThanks,\n\nMathan", "created": "2020-09-01T11:51:00.000000"}], "components": [], "created": "2020-09-01T03:52:00.000000", "creator": "623c12521c7f6a007049e8fc", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3d8fd848"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o03v8g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20262899_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:\u00a0\u00a06.18.0*\n *Puppet Server Version: 6.13.0*\n *OS Name/Version: Ubuntu 18.04*\n\n\u00a0\n\n*[https://puppet.com/docs/puppet/5.5/passenger.html]*\n\n\u00a0\n\nAfter configure puppet passanger using the above document.\u00a0I am unable to add new agent in the puppet 6.18.\u00a0\n\n\u00a0\n\nGetting this error:-\u00a0\n\nroot@puppet:/usr/bin# puppetserver ca list\nError:\n code: 404\n body: <!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p>The requested URL was not found on this server.</p>\n<hr>\n<address>Apache/2.4.29 (Ubuntu) Server at puppet.master.com Port 8140</address>\n</body></html>\nNo certificates to list\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16055", "fixedVersions": [], "id": "16055", "issueType": "Bug", "key": "SERVER-2872", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12521c7f6a007049e8fc", "resolution": "Won't Do", "resolutionDate": "2020-09-01T09:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "unable to configure puppet passanger ", "timeSpent": "PT0S", "updated": "2020-09-01T11:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Should be blocked by a ticket in PUP to change the upstream APIs.", "created": "2020-08-31T12:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Are all of those changes being added ahead of Platform 7? [~accountid:63d40628f6e1b543161789a7] do you know the timeline on those?", "created": "2020-09-01T16:36:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "AFAIK all of the PUP changes will be made in a backwards compatible way (for example supporting the {{master}} section in puppet.conf, etc) so -I wasn't planning on including in puppet7 (though whatever changes can be done by then, all the better).- It looks like NW will have bandwidth to get started on this for Puppet 7 and the 6.x release that follows", "created": "2020-09-01T17:05:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "By \"this\" I assume you mean the associated PUP work and not this ticket?", "created": "2020-09-18T14:23:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "sorry, yeah, the PUP tickets :facepalm:", "created": "2020-09-18T14:35:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0will link the PUP epic that describes the specific terms to look out for.\u00a0", "created": "2020-11-20T12:40:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Grepping puppetserver's {{src/ruby}} directory for master I find that we still use \"master\" when referring to http routing our usage of the indirected routes. These references are arguably not public facing for either Puppet or Puppet Server but an artifact of how closely they're intertwined. Specifically, our usage of the constant: [Puppet::Network::HTTP::MASTER_URL_PREFIX|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/network/http.rb#L6-L7] and the namespace {{puppet/network/http/api/master/v3}}.\n\nI saw no other Puppet references using \"master\" or any references at all using \"white\" or \"black\" in {{src/ruby}}.", "created": "2021-03-01T10:16:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I can create a PR to change Puppet's constant that still includes master. I'm a little more hesitant to change the whole master/v3 namespace but can do it. I'd need to create a PUP ticket to do so.\n\nEither way I don't think Puppet Server can move to using the the replacement naming of those in 7.x since that would break compatibility with agents of the same major version. I _could_ put code in attempt to load non-master termed constant/file and fallback to the master named ones. What do people think?", "created": "2021-03-01T10:19:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Why are you hesitant to change the namespace?\n\nIMO, internal changes are still worthwhile, both from an inclusivity standpoint and so we can be as consistent as possible in our terminology generally.\n\nAnd just to make sure I'm understanding: you're saying that since the {{Puppet::Network::HTTP::MASTER_URL_PREFIX}} constant comes from puppet and was included in the first puppet7 release, puppetserver has to continue referencing that constant in case folks are using old puppet7 agents? That makes sense to me, though it's a bummer. Since it seems like we're really committed to these terminology changes, I _think_ it would make sense to do this switch+fallback sooner rather than later. It does feel icky.. but it sounds like this is the direction we want to be moving in? Does this just apply to the constant or the namespace too? I'm imagining making the namespace change backwards compatible is more gross, maybe that's why you're hesitant to make that change?", "created": "2021-03-01T12:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It seems like if we ever hope to get away from these terms, we need to start making changes like this in 6 and 7. I don't know if we're planning to drop Puppet 5 support in Platform 8, but if we are, at that point it might be possible to drop the fallbacks, but only if we work to get these changes into the agent side in the currently-live streams now.\n\nMakes sense to me to file a different ticket for the work in the Puppet repo, since I imagine the testing will be a little more elaborate. We'll want to make sure to validate different combinations of agents and servers, and probably upgrades.", "created": "2021-03-01T13:07:00.000000"}], "components": [], "created": "2020-08-31T12:09: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@2b923ea"}, {"fieldName": "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": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o06h7j:qo"}, {"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": "01/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_413513305_*|*_1_*:*_1_*:*_102486340_*|*_10007_*:*_1_*:*_89782849_*|*_3_*:*_1_*:*_319291843_*|*_10009_*:*_1_*:*_261010289_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_257106811_*|*_10006_*:*_1_*:*_15057265878"}], "description": "The main Puppet project is also updating its terminology in a backwards compatible way. For Puppet 7 we should move to using its updated apis. Some work has been done on this, audit the puppetserver repo for other places where we need to update. (look for the works \"white\" and \"master\" and figure out what the replacement terms should be).", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "16604", "fixedVersions": ["SERVER 7.1.0"], "id": "16604", "issueType": "Improvement", "key": "SERVER-2870", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2021-03-10T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver to use new Puppet settings/apis", "timeSpent": "PT0S", "updated": "2021-03-10T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-08-31T12:07: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@1a4cb686"}, {"fieldName": "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": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0emad:x"}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "3.0"}], "description": "Note this only the puppetserver repo. This explicitly does not include the beaker acceptance tests. ", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "16276", "fixedVersions": [], "id": "16276", "issueType": "Improvement", "key": "SERVER-2869", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Ready for Engineering", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver tests and internal variable names", "timeSpent": "PT0S", "updated": "2022-03-09T08:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:619528076d002b006b1c1e8d] will follow up whether or not this should be prioritized.\u00a0", "created": "2023-01-26T14:36:00.000000"}, {"author": "619528076d002b006b1c1e8d", "body": "If the scope is accurate (3 points) then we should do it.\n\nIf that's not accurate, let's please get an updated scope. TY", "created": "2023-02-01T10:56:00.000000"}], "components": [], "created": "2020-08-31T12:05: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@c0eeda6"}, {"fieldName": "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": "SERVER-3165"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0lig"}, {"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/Jan/23"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_102614975_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_505736987_*|*_10006_*:*_1_*:*_75526117382_*|*_10005_*:*_1_*:*_243156252"}], "description": "We specifically have a [\"master\" namespace|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/services/master/master_service.clj#L1] in our code and this is namespace is referenced in user-facing configuration. We need to change the namespace, but because it is also referenced in user-facing configuration we have to provide some stub implementation in the old namespace that warns of the deprecation and re-exports the new namespace.\n\n\u00a0\n\nFigure out a way to best keep compatibility with the least amount of crufty code.\u00a0\n\n\u00a0\n\nMake sure to update PEM accordingly to use the preferred replacement namespace.", "epicLinkSummary": "Puppet Server 8", "estimate": "PT0S", "externalId": "16053", "fixedVersions": ["SERVER 8.0.0"], "id": "16053", "issueType": "Improvement", "key": "SERVER-2868", "labels": [], "originalEstimate": "PT0S", "parent": "16890", "parentSummary": "Puppet Server 8", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2023-02-01T11:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update clojure namespaces and bootstrap.cfg configuration", "timeSpent": "PT0S", "updated": "2023-02-01T11:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This should probably get some release notes informing folks of the new variants for the settings we changed.", "created": "2021-03-05T15:46:00.000000"}], "components": [], "created": "2020-08-31T12:01: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@466ed305"}, {"fieldName": "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": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o06h7j:qu"}, {"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": "The \"master-conf-dir\", \"master-code-dir\", \"master-var-dir\", \"master-log-dir\", and \"master-run-dir\" config settings have been deprecated in favor of \"server-conf-dir\", \"server-code-dir\", \"server-var-dir\", \"server-log-dir\", and \"server-run-dir\" respectively.\n\nAs part of the next release new config files which use the new terms will ship with the package. The old names are still honored for backwards compatibility but users should upgrade to the newer settings names at their earliest convenience. "}, {"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/Mar/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1094565679_*|*_1_*:*_1_*:*_102819014_*|*_10007_*:*_1_*:*_2573105_*|*_3_*:*_2_*:*_347942366_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_15390899169_*|*_10005_*:*_1_*:*_243233785"}], "description": "Deprecate config values in puppet server's conf.d that refer to \"master\", \"whitelist\", etc and provide new values (\"server\" and \"allowlist\") to replace them. Alias or fallback to the old values for now to allow users to upgrade on their own timeframe.\n\nMost of these are here: [https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/services/jruby/jruby_puppet_schemas.clj]\n\n\u00a0", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "15712", "fixedVersions": ["SERVER 7.1.0"], "id": "15712", "issueType": "Improvement", "key": "SERVER-2867", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2021-03-18T08:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver configuration values", "timeSpent": "PT0S", "updated": "2022-09-01T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-08-31T11:59: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@72a135a2"}, {"fieldName": "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": "SERVER-2864"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090q"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_102793847_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15125473082_*|*_10005_*:*_1_*:*_243358929"}], "description": "https://github.com/puppetlabs/puppetserver/tree/6.x/documentation", "epicLinkSummary": "Froyo owned changes in terminology", "estimate": "PT0S", "externalId": "15427", "fixedVersions": [], "id": "15427", "issueType": "Improvement", "key": "SERVER-2866", "labels": [], "originalEstimate": "PT0S", "parent": "14926", "parentSummary": "Froyo owned changes in terminology", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2021-02-26T12:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver in-repo docs for terminology changes", "timeSpent": "PT0S", "updated": "2021-02-26T12:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] asked about {{master.conf}}. Will a replacement file be created for that in 6.x? Can we delete that file entirely for 7?", "created": "2020-09-18T13:25:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm not seeing a {{master.conf}}\u00a0in the currently released packages, I thought there was one in Puppet Server's {{conf.d}}\u00a0but what I thought would be one is called {{puppetserver.conf}}\n{code:java}\n[root@spare-affect ~]# /opt/puppetlabs/bin/puppetserver --version\npuppetserver version: 6.13.0\n\n[root@spare-affect ~]# ls /etc/puppetlabs/puppetserver/conf.d/\nauth.conf  ca.conf  global.conf  metrics.conf  puppetserver.conf  web-routes.conf  webserver.conf\n\n[root@spare-affect ~]# ls /etc/puppetlabs/puppetserver/\nconf.d  logback.xml  request-logging.xml  services.d {code}\n\nI'm either missing something or that's an aspect of the docs that hasn't been updated in some time.", "created": "2020-09-19T15:51:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] I think there are quite a few references master.conf in the docs, so I'll change these to puppetserver.conf in the Puppet 7 docs.\u00a0\n\nIs the `master` config section being changed to `primaryserver` or `puppetserver`? As described here:\u00a0https://puppet.com/docs/puppet/6.18/config_file_main.html#config-sections", "created": "2020-10-07T04:04:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{master}} config section is being renamed to {{server}} in PUP-10669", "created": "2020-10-07T11:05:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks!", "created": "2020-10-08T02:27:00.000000"}], "components": [], "created": "2020-08-31T11:57:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2756bc8c"}, {"fieldName": "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-10"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Froyo Terminology Update"}, {"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": "blue"}, {"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|hykebj:40900006949xlpi"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_23515439793_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_18215727068_*|*_10014_*:*_1_*:*_26179127010"}], "description": "This is a ticket to change references from the roles \"master\" to \"server\", \"compile masters\" to \"compilers\" (largely done previously), and \"master of masters\" to \"primary\" or \"main\".\n\nConcepts previously termed \"whitelists\" and \"blacklists\" should now be termed \"allowlists\" and \"denylists\" respectively.\n\nNamespaces, classes, parameters, and settings that require changing should be changed, but the previous terms should be aliased to the new so that new versions may be used in a backwards compatible way for the foreseeable future.\n\nThe git \"head\" branch for development should be changed from \"master\". New \"head\" branches should be termed \"main\".\n\nThis is to happen in all Froyo owned projects (public and private) and their respective docs, including puppetserver, puppetserver-ca-cli, r10k, file-sync, code-manager, and the wider trapperkeeper ecosystem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14926", "fixedVersions": [], "id": "14926", "issueType": "Epic", "key": "SERVER-2864", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-10-26T11:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Froyo owned changes in terminology", "timeSpent": "PT0S", "updated": "2022-12-09T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Is that standard across the system within bolt that it sees the top level as a module named the same of the project? IE I won't come across a bolt project that also has a module inside it with the project name, which would cause issues if I implemented this the way it's being asked?", "created": "2020-09-02T10:41:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "In bolt, project content shadows anything under `modules`. https://github.com/puppetlabs/bolt/pull/2143/files Bolt warns about this. I dont think we necessarily need to warn in puppetserver, we just need to make sure that the top level content takes precedence over anything in dependencies. ", "created": "2020-09-02T11:26:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Is it only tasks and plans? Do you need to be able to serve plans through file_content?", "created": "2020-09-02T13:07:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "I cant think of a reason we need to serve plans. However, i do think for pluginsync we will need at least `lib` and perhaps `manifests`. ", "created": "2020-09-02T14:16:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Okay, the pluginsync stuff is ticketed separately in SERVER-2876", "created": "2020-09-03T13:02:00.000000"}], "components": ["Puppet Server"], "created": "2020-08-27T17:57: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@763eea39"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbr9"}, {"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": "02/Sep/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_601242845_*|*_1_*:*_1_*:*_16375169_*|*_10007_*:*_2_*:*_1447841777_*|*_3_*:*_2_*:*_888949752_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_388754758"}], "description": "Bolt projects allow definition of tasks/plans etc in \"top level\" (read, not in a module) directories. The way this works in practice is that the tasks/plans in these top level directories are \"magically\" namespaced with the module name of the bolt-project. So effectively a bolt-project *is* a module. \n\nConsider the following structure:\n{code}\n[root@homemade-bit my_project_somesha]# tree\n.\n\u251c\u2500\u2500 bolt-project.yaml\n\u251c\u2500\u2500 modules\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 foo\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 tasks\n\u2502\u00a0\u00a0         \u2514\u2500\u2500 init.sh\n\u251c\u2500\u2500 plans\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 init.pp\n\u2514\u2500\u2500 tasks\n    \u2514\u2500\u2500 init.sh\n\n5 directories, 4 files\n{code}\nthat bolt-project.yaml only has a single key {{name: my_project}} if you {{bolt task show}} there should be two tasks {{my_project}} and {{foo}}. \n\nCurrently puppetserver is able to serve the `foo` task (the one in a \"traditional\" module), puppetserver should *also* serve the {{my_project}} task. \n\nCurrent behaviour:\n{code}\n[root@homemade-bit my_project_somesha]# curl --silent -v --cacert $BOLT_CACERT --cert $BOLT_CERT --key $BOLT_KEY $PUPPETSERVER/puppet/v3/file_content/tasks/foo/init.sh?project=my_project_somesha 2>/dev/null\n#!/bin/bash\n\necho 'yo'\n[root@homemade-bit my_project_somesha]# curl --silent -v --cacert $BOLT_CACERT --cert $BOLT_CERT --key $BOLT_KEY $PUPPETSERVER/puppet/v3/file_content/tasks/my_project/init.sh?project=my_project_somesha 2>/dev/null\nCould not find file_content for path: init.sh\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16941", "fixedVersions": ["SERVER 6.14.0"], "id": "16941", "issueType": "Improvement", "key": "SERVER-2875", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5ade3a9f91bc312e6a4a30f3", "resolution": "Fixed", "resolutionDate": "2020-10-05T10:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Serve \"top level\" task,plan,manifest,file content from bolt-projects", "timeSpent": "PT0S", "updated": "2020-10-05T10:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "I got the release notification for 5.3.15 overnight and saw you had decided to backport the atomic CRL rewriting to 5.x, given you said in SERVER-2565 that was unlikely to happen, so thanks for backporting. However after upgrading, it doesn't seem to have fixed the problem. I'm still seeing SSL issues sporadically so I've done a bit of investigating. I'm using `inotifywait -m /etc/puppetlabs/puppet/ssl | grep -v MODIFY` to watch what happens to the CRL.\n\nIf I run `puppet node clean ...` which is what our decommission script is doing then I see the following:\n{noformat}\n/etc/puppetlabs/puppet/ssl/ CREATE crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ OPEN crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ CLOSE_WRITE,CLOSE crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ OPEN crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ CLOSE_WRITE,CLOSE crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ ATTRIB crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ ATTRIB crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ ATTRIB crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ MOVED_FROM crl.pem3043508600540725174tmp\n/etc/puppetlabs/puppet/ssl/ MOVED_TO crl.pem\n\n/etc/puppetlabs/puppet/ssl/ CREATE crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ OPEN crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ CLOSE_WRITE,CLOSE crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ OPEN crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ CLOSE_WRITE,CLOSE crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ ATTRIB crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ ATTRIB crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ MOVED_FROM crl.pem7845894041424336280tmp\n/etc/puppetlabs/puppet/ssl/ MOVED_TO crl.pem{noformat}\nThe CRL gets rebuilt and then rebuilt again immediately after. If I use `puppetserver ca revoke --certname ...` instead then I just see the CRL rebuilt once. Would the double-rebuild be confusing any processes trying to re-read the CRL?", "created": "2020-10-21T08:10:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "{quote}I'm still seeing SSL issues sporadically\n{quote}\n[~accountid:557058:e0389099-cc54-4f97-bd2a-7fa4735554bd], can you provide more information on what issues you're seeing specifically, and under what circumstances? Specifically interesting would be seeing the errors themselves, both from the client side and from the Puppet Server logs, and a description of how you are using the service when the problem(s) occur.", "created": "2020-10-21T08:58:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "Some of this was covered in the original SERVER-115 ticket, but to recap, we have a Puppet CA that is nearly 5 years old and to date has issued over 130,000 certificates, confusingly our CRL has revoked nearly 300,000 certificates (I think due to a bug that meant the same certificate could be revoked more than once) and is now about 14 MB in size. The bug originally was that the CRL was rebuilt in place so any time a certificate was revoked it took so long to do based on the size/number that there were long periods where there was either no CRL on the filesystem or an incomplete one which meant any agent connecting would get an SSL error. The error we nearly always get in response to requesting a catalog or making puppet:/// fileserver requests is:\n{noformat}\nSSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown {noformat}\nWhenever this happened you could see the `/etc/puppetlabs/puppet/ssl/crl.pem` file was being truncated and rewritten. Whenever that file was stable we didn't get any errors. So the obvious fix was to build the new CRL in a temporary file and atomically move it into place on top of the old one, which is what has been done and the inotifywait output I've pasted confirms this. However after upgrading today I'm still seeing this error pop up and it seems to coincide with certificates being revoked.\n\nWe have a periodic job that reads expired machines from a queue and deactivates them in PuppetDB, revokes their Puppet certificate and does some other jobs such as clean up DNS and Active Directory. The script runs `puppet node deactivate <hostname>` followed by `puppet node clean <hostname>` which is why I noticed the double CRL rebuild.\n\nI've not seen any sort of error on the Puppet Server side, because it fails at the SSL level it never actually logs any of the failed requests. If there are any logging tweaks specifically for SSL please let me know and I can apply them.", "created": "2020-10-21T10:06:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], I'm guessing that the file operations pertaining to the CRL probably aren't at fault for this anymore, due to file content changes being atomic, but is it possible that Puppet Server reloading the CRL _data_ results in any periods of unavailability during which an agent might express an error such as what [~accountid:557058:e0389099-cc54-4f97-bd2a-7fa4735554bd]\u00a0reports?\n\nIs CRL data kept in memory by Puppet Server such that it can be atomically updated, or is it read from disk frequently / for every connection?\n{code:java}SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown {code}", "created": "2020-10-21T11:18:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "I don't see the CRL being read from disk that often, if at all, apart from in response to external API actions. The only time I see it literally just read without any other filesystem operations is when the Puppet agent periodically runs on the Puppet Server. I don't see it being read immediately after its rewritten so it looks like it's kept in memory.", "created": "2020-10-22T02:34:00.000000"}], "components": [], "created": "2020-08-26T12: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@7b1b4ff1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03ruo:"}, {"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": "The Puppet Server CA will now write all of its files atomically, preventing an issue where CRLs could be read partway through being written, resulting in a failed load and corruping CA state. This improvement is backported from the Puppet Server 6 stream."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_241657028_*|*_1_*:*_1_*:*_105093_*|*_10007_*:*_1_*:*_3241980_*|*_3_*:*_2_*:*_194458696_*|*_5_*:*_2_*:*_75751101"}], "description": "We updated the CA to write all of its files atomically in the 6.x branch recently. There has now been a request to backport this fix to the 5.x branch.\n\nOriginal puppetserver PR: https://github.com/puppetlabs/puppetserver/pull/2334\nOriginal kitchensink PR: https://github.com/puppetlabs/clj-kitchensink/pull/103", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17528", "fixedVersions": ["SERVER 5.3.15"], "id": "17528", "issueType": "Task", "key": "SERVER-2863", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-09-01T11:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport atomic CA file writes to 5.x", "timeSpent": "PT0S", "updated": "2020-10-22T02:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "created": "2020-08-25T07:59:00.000000", "name": "hs_err_pid57770.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11211"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The stack frame closest the top shows puppet trying to define a new function: Not sure if it's a built in function or something from a module?\n\n{noformat}\nJava frames: (J=compiled Java code, j=interpreted, Vv=VM code)\nj  com.kenai.jffi.Foreign.invokeN2O2(JJJJLjava/lang/Object", "created": "2020-08-25T12:59:00.000000"}, {"author": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "body": "Can you see the function name or any other reference that can help to identify it? I have looked at it but can't see anything that i recognize from our modules, but I may have missed something.", "created": "2020-08-26T00:50:00.000000"}, {"author": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "body": "After a lot of trial/error I finally found the problem. The mention of '{color:#000000}jnr.posix.Crypt' and libcrypt.so in the java error logs made me (after a lot of other ideas) suspect the stdlib 'pw_hash' function which we use to hash the root user pw (stored in eyaml, dynamically generated for each server). This function \"uses the Puppet Master's implementation of crypt(3)\". This is provided by glibc in RHEL7 and by 'libxcrypt' in RHEL8. {color}\n\n{color:#000000}After disabling the use of 'pw_hash' the puppetserver works fine on RHEL8. So something in the RHEL8 crypt functionality makes the puppetserver crash when called often enough. \n{color}\n\n{color:#000000}Any ideas of how to solve this and still be able to use 'pw_hash'? {color}", "created": "2020-08-28T09:31:00.000000"}, {"author": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "body": "I've worked around this by replacing `pw_hash` with another method for pw management. Without `pw_hash` puppetserver works fine on RHEL8.", "created": "2020-09-04T01:37:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0]\u00a0I don't see which version of stdlib you were using... so I just tried to reproduce with latest and couldn't.\u00a0 I'm going to close this out since you've worked around it and I cannot reproduce.\u00a0\u00a0\n\n\u00a0\n{code:java}[root@frequent-hovel puppet-enterprise-2019.8.2-rc2-49-g65990c1-el-8-x86_64]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for frequent-hovel.delivery.puppetlabs.net\nInfo: Applying configuration version '1601657837'\nNotice: $6$dsfa$Yrz2ynZeBqR7OtpUb7nCtHDzsF3eeWBFRVyOVQCWnEYHLDz2OIhCwJ6lu3AQ0hlcg0i5LCKJymXUT6kpbM.gB/\nNotice: /Stage[main]/Main/Node[default]/Notify[$6$dsfa$Yrz2ynZeBqR7OtpUb7nCtHDzsF3eeWBFRVyOVQCWnEYHLDz2OIhCwJ6lu3AQ0hlcg0i5LCKJymXUT6kpbM.gB/]/message: defined 'message' as '$6$dsfa$Yrz2ynZeBqR7OtpUb7nCtHDzsF3eeWBFRVyOVQCWnEYHLDz2OIhCwJ6lu3AQ0hlcg0i5LCKJymXUT6kpbM.gB/'\nNotice: Applied catalog in 17.50 seconds\n[root@frequent-hovel puppet-enterprise-2019.8.2-rc2-49-g65990c1-el-8-x86_64]# cat /etc/puppetlabs/code/environments/production/\ndata/             environment.conf  hiera.yaml        manifests/        modules/          \n[root@frequent-hovel puppet-enterprise-2019.8.2-rc2-49-g65990c1-el-8-x86_64]# cat /etc/puppetlabs/code/environments/production/manifests/site.pp \nnode default {\n  \n  $test = pw_hash( '1sdfadfa', 'SHA-512', 'dsfa' )  \n  notify { $test : }\n  \n} [root@frequent-hovel puppet-enterprise-2019.8.2-rc2-49-g65990c1-el-8-x86_64]# facter os\n{\n  architecture => \"x86_64\",\n  family => \"RedHat\",\n  hardware => \"x86_64\",\n  name => \"CentOS\",\n  release => {\n    full => \"8.2.2004\",\n    major => \"8\",\n    minor => \"2\"\n  },\n  selinux => {\n    enabled => false\n  }\n}{code}", "created": "2020-10-02T11:01:00.000000"}, {"author": "5b187e201a75f051f4a72721", "body": "I've encountered this issue under a specific scenario, trigger Puppet runs on more than 1 node thru PXP on CentOS 8.2. Trigger only 1 node and normal Puppet daemon run don't result in thread dump. Hope this info helps.\n\nStack: [0x00007fcbc4b2e000,0x00007fcbc4c2f000], sp=0x00007fcbc4bf5dc8, free space=799k\n Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)\n C\u00a0[libcrypt.so.1+0x251b]\n\n\u00a0\n\n\u00a0\n\nMemory: 4k page, physical 8160804k(1927216k free), swap 2097148k(1769468k free)\n\nvm_info: OpenJDK 64-Bit Server VM (11.0.8-internal+10-adhoc.root.openjdk) for linux-amd64 JRE (11.0.8-internal+10-adhoc.root.openjdk), built on Jul 23 2020 15:25:04 by \"root\" with gcc 8.3.1 20191121 (Red Hat 8.3.1-5)", "created": "2020-11-24T19:35:00.000000"}, {"author": "618d77713ae523006917eb86", "body": "This is happening on two of my puppetservers after a conversion from CentOS8 to AlmaLinux8.\u00a0\u00a0\n\nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # A fatal error has been detected by the Java Runtime Environment: \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \u00a0[thread 140529732388608 also had an error] \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: SIGSEGV (0xb) at pc=0x00007fd1b49afc48, pid=486694, tid=0x00007fcff5005700 \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # JRE version: OpenJDK Runtime Environment (8.0_312-b07) (build 1.8.0_312-b07) \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # Java VM: OpenJDK 64-Bit Server VM (25.312-b07 mixed mode linux-amd64 compressed oops) \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # Problematic frame: \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # C \u00a0[libcrypt.so.1+0x4c48] \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try \"ulimit -c unlimited\" before starting Java again \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # An error report file with more information is saved as: \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # /var/log/puppetlabs/puppetserver/puppetserver_err_pid486694.log \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # If you would like to submit a bug report, please visit: \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # \u00a0\u00a0[https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%208&component=java-1.8.0-openjdk] \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # The crash happened outside the Java Virtual Machine in native code. \nJan 20 00:26:22 glycon.ls.cbn puppetserver[486648]: # See problematic frame for where to report the bug.\n\n\ncat /etc/os-release \u00a0\nNAME=\"AlmaLinux\" \nVERSION=\"8.5 (Arctic Sphynx)\"\n\n\n\npuppetdb-7.8.0-1.el8.noarch \npuppetserver-7.5.0-1.el8.noarch\n\n\n\npuppetlabs-stdlib (v8.1.0)", "created": "2022-01-20T11:35:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thanks for reporting this! We're planning to investigate within the next couple weeks.", "created": "2022-01-27T11:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The {{crypt}} function has given us issues before. Because the (J)Ruby function calls through directly to system libraries, it's very susceptible weird low-level bugs and changes.\n\nDo the people on this ticket generally have workarounds they could describe? It might be good for us to document this issue along with a recommendation for avoiding it, at minimum. ", "created": "2022-02-03T15:30:00.000000"}, {"author": "618d77713ae523006917eb86", "body": "I do not currently have a good workaround.\u00a0 if anyone knows of a simple alternative to pw_hash that would be appreciated.\u00a0\u00a0", "created": "2022-02-17T15:54:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "I hit this often on an 2021.x PE instance as well. It was initially happening on Centos 8 and now Almalinux.\u00a0\n\n\u00a0\n{code:java}# ls -lrt $(grep -l libcrypt.so puppetserver_err_pid*)\n-rw-r----- 1 pe-puppet pe-puppet 479306 Nov 30 13:28 puppetserver_err_pid1019.log\n-rw-r----- 1 pe-puppet pe-puppet 505603 Dec 12 12:53 puppetserver_err_pid185474.log\n-rw-r----- 1 pe-puppet pe-puppet 507623 Jan\u00a0 3 17:53 puppetserver_err_pid2191800.log\n-rw-r----- 1 pe-puppet pe-puppet 497688 Jan 12 05:53 puppetserver_err_pid289380.log\n-rw-r----- 1 pe-puppet pe-puppet 516829 Jan 18 05:53 puppetserver_err_pid1365728.log\n-rw-r----- 1 pe-puppet pe-puppet 501863 Jan 23 02:23 puppetserver_err_pid2367996.log\n-rw-r----- 1 pe-puppet pe-puppet 111538 Jan 27 08:23 puppetserver_err_pid3177958.log\n-rw-r----- 1 pe-puppet pe-puppet 513561 Feb\u00a0 1 20:23 puppetserver_err_pid1239.log\n-rw-r----- 1 pe-puppet pe-puppet 438747 Feb\u00a0 7 02:53 puppetserver_err_pid116299.log\n-rw-r----- 1 pe-puppet pe-puppet 445002 Feb\u00a0 7 10:38 puppetserver_err_pid996583.log\n-rw-r----- 1 pe-puppet pe-puppet 460778 Feb\u00a0 7 11:46 puppetserver_err_pid1052915.log\n-rw-r----- 1 pe-puppet pe-puppet 544232 Feb 18 14:23 puppetserver_err_pid2530370.log{code}\n\u00a0\n\nThe {{pw_hash}} function is used only twice in the codebase, which is applied to every node. There are only 10 nodes in this environment and compiles seem to work the majority of the time, with the exception of a couple of failures a month.", "created": "2022-02-21T07:30:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "I just linked MODULES-11219, which indicates that {{CentOS 8 + JRuby's String#crypt are not thread-safe}} and gives a script to reproduce the issue. I took a look at my recent instances of this and they were triggered by running jobs on multiple nodes through CD4PE deployments.", "created": "2022-02-21T08:05:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "so it sounds like this might have to be fixed in stdlib, per MODULES-11219. Does that sound right [~accountid:5e3375e183d74c0e821851f3]? /cc [~accountid:557058:154e67dd-e474-47c6-b112-0111e3b9f3d8] [~accountid:6220dc0e14cd24006908a366]\nIf so, I will close this ticket as a duplicate.", "created": "2022-02-24T11:25:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "That works for me. Since {{crypt}} is not stable with this combination, using {{org.apache.commons.codec.digest.Crypt.crypt}} in the function seems like a reasonable fix.", "created": "2022-02-24T11:36:00.000000"}, {"author": "618d77713ae523006917eb86", "body": "Has this actually been fixed yet in Stdlib.\u00a0 I see comments in MODULES-11219 but no fix is visible in github.\u00a0 I think the suggestion is just in the reporters local branch.\u00a0\u00a0", "created": "2022-03-03T14:35:00.000000"}], "components": ["Puppet Server"], "created": "2020-08-25T08:01:00.000000", "creator": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@123cb424"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o03quo:"}, {"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": "46162"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_6922450716_*|*_6_*:*_2_*:*_41045550354"}], "description": "*Puppet Version: 6.10.0*\n *Puppet Server Version: 6.12.1, 6.7.0*\n *OS Name/Version: RHEL8*\n\nI have a RHEL7 box running puppetserver 6.7 without problems. Trying to install a new puppetserver on RHEL8 results in repeated java crashes when put under load. RHEL7 and RHEL8 boxes are configured identically and reads the same puppet code. \n\nI have tested puppetserver 6.7 and the latest, 6.12.1, and tried both java-1.8.0-openjdk and java-11-openjdk. Running with light loads seems to work, but put under some stress (which the RHEL7 box manages fine) the java crashes with errors like these:\n\n\u00a0\n{noformat}\npuppetserver[54280]: # A fatal error has been detected by the Java Runtime Environment:\npuppetserver[54280]: # SIGSEGV (0xb) at pc=0x00007fcc8fef3c3e, pid=54287, tid=0x00007fcbd1ee6700\npuppetserver[54280]: # JRE version: OpenJDK Runtime Environment (8.0_262-b10) (build 1.8.0_262-b10)\npuppetserver[54280]: # Java VM: OpenJDK 64-Bit Server VM (25.262-b10 mixed mode linux-amd64 compressed oops)\npuppetserver[54280]: # Problematic frame:\npuppetserver[54280]: # C [libc.so.6+0x15dc3e] __memmove_avx_unaligned_erms+0x9e{noformat}\n{noformat}\npuppetserver[55962]: # A fatal error has been detected by the Java Runtime Environment:\npuppetserver[55962]: # SIGSEGV (0xb) at pc=0x00007f10879c7fe4, pid=55969, tid=0x00007f0ed1bb9700 \npuppetserver[55962]: # JRE version: OpenJDK Runtime Environment (8.0_262-b10) (build 1.8.0_262-b10)\npuppetserver[55962]: # Java VM: OpenJDK 64-Bit Server VM (25.262-b10 mixed mode linux-amd64 compressed oops)\npuppetserver[55962]: # Problematic frame:\npuppetserver[55962]: # C [libcrypt.so.1+0x2fe4]{noformat}\n\u00a0\n{noformat}\npuppetserver[750529]: [thread 140566186202880 also had an error][thread 140566179886848 also had an error]\n# A fatal error has been detected by the Java Runtime Environment:\npuppetserver[750529]: #\npuppetserver[750529]: # SIGSEGV (0xb) at pc=0x00007fd953a83550, pid=750536, tid=0x00007fd916ef2700\npuppetserver[750529]: #\npuppetserver[750529]: [thread 140566428763904 also had an error]# JRE version: OpenJDK Runtime Environment\n0)\npuppetserver[750529]: # Java VM: OpenJDK 64-Bit Server VM (25.262-b10 mixed mode linux-amd64 compressed oo\npuppetserver[750529]: # Problematic frame:\npuppetserver[750529]: # C 0x00007fd953a83550\npuppetserver[750529]: #\npuppetserver[750529]: # Core dump written. Default location: //core or core.750536\npuppetserver[750529]: #\npuppetserver[750529]: # An error report file with more information is saved as:\npuppetserver[750529]: # /tmp/hs_err_pid750536.log\npuppetserver[750529]: [thread 140566443476736 also had an error]\npuppetserver[750529]: [thread 140571393914624 also had an error]\npuppetserver[750529]: [thread 140570362042112 also had an error]\npuppetserver[750529]: [thread 140570357831424 also had an error]\npuppetserver[750529]: =============== DEBUG MESSAGE: illegal bytecode sequence - method not verified ================\npuppetserver[750529]: [thread 140566325888768 also had an error]\npuppetserver[750529]: [thread 140573830289152 also had an error]\npuppetserver[750529]: [thread 140566545291008 also had an error]\n{noformat}\n\u00a0\n\n\u00a0\n\n\u00a0\n\nThere is no clue to what triggers the crash in the logs, even with debug enabled. Any idea what could be causing this?\n\nAttaching an error report from java if that could help.\n\n\u00a0\n\n\u00a0", "environment": "OS: Red Hat Enterprise Linux release 8.2\u00a0\n\npuppetserver-6.12.1-1.el8.noarch\n\njava-1.8.0-openjdk-headless-1.8.0.262.b10-0.el8_2.x86_64\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15243", "fixedVersions": [], "id": "15243", "issueType": "Bug", "key": "SERVER-2862", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:50cf9999-f5a4-4526-b662-a8cdc1d378a0", "resolution": "Duplicate", "resolutionDate": "2022-03-03T11:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver crashes on RHEL8", "timeSpent": "PT0S", "updated": "2022-03-03T14:35:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "623c098ea9575800695ac870", "created": "2020-08-21T06:48:00.000000", "name": "dump.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11279"}, {"attacher": "623c098ea9575800695ac870", "created": "2020-08-21T06:37:00.000000", "name": "image-2020-08-21-14-37-25-015.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10676"}, {"attacher": "623c098ea9575800695ac870", "created": "2020-08-21T06:43:00.000000", "name": "image-2020-08-21-14-43-24-300.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10593"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thank you for the report! We're looking to improve multithreading in an upcoming release and we'll working on this soon.", "created": "2020-08-31T17:04:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:6220db6259c0740069d86127] We think that disabling environment caching (ie setting the environment timeout to 0) resolves this issue, but creates others. We soak tested this in our internal deployment before releasing this as an experimental feature. Unfortunately, for unrelated reasons, they have environment_timeout set to 0, which we think is the reason we didn't see these issues before.", "created": "2020-10-05T12:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Based on the thread dump provided here, this is caused by problems with the way we are synchronizing 3x loaders. We suspected these issues would exist, but hadn't seen examples of it during development. We're analyzing what can be done to fix it. We've seen similar cases happen internally and with other users", "created": "2021-02-23T14:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fwiw, any fix we determine for this is likely to be non-trivial. The loader system is very complex.", "created": "2021-02-24T13:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've filed PUP-10958 and PUP-10959 as two potential solutions to this issue. We'll likely try PUP-10959 first, as it is probably simpler.", "created": "2021-03-10T08:42:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have https://github.com/puppetlabs/puppet/pull/8561 that should hopefully resolve the deadlock, and it will be getting released in the next Platform 7 release. It would be awesome if folks could give it a try and let us know if the deadlocking is gone. We were never able to reproduce it in our test environments.", "created": "2021-04-06T12:03:00.000000"}], "components": ["Puppet Server"], "created": "2020-08-21T06:49:00.000000", "creator": "623c098ea9575800695ac870", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59082b07"}, {"fieldName": "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": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0emad:9"}, {"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": "41282"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Aug/20"}], "description": "*Puppet Version:*\n *Puppet Server Version:*\n *OS Name/Version:*\n\nI'm testing the new multithreaded option on Puppet Servers 6.11.1 running on a Kubernetes cluster. The main reason for going with this option is reducing the amount of memory used by Puppet.\n\nIn my tests I noticed that after some time (around 2 or 3 hours) the server freezes and from that moment every single requests produces a line similar to the following one:\n{noformat}Error 503 on SERVER at /puppet/v3/file_metadatas/pluginfacts: Attempt to borrow a JRubyInstance from the pool timed out.\n{noformat}\nAround the same time in which I start seeing the errors, I see this line in the logs:\n{noformat}Max borrows reached, but JRubyPool could not be flushed because lock could not be acquired. Will try again later.\n{noformat}\nThis is a consequence of using max-requests-per-instance, setting needed as there are memory leaks.\n\nI'm monitoring all JRuby metrics relevant and available. These plots show the evolution of a pod running Puppet Server from the moment in which is spawned to the moment in which is killed:\n\n !image-2020-08-21-14-37-25-015.png! \n \nThe plot on the left shows the borrow count, the retries and the timeouts. At some point it's not possible to borrow more threads. The middle one shows threads requested and returned. Both are quite similar so it seems that threads are successfully returned. The one on the left shows the total number of threads and the ones free. In this setup I'm setting the maximum number of threads to 5 and as you can see, at some point there's only one thread free (even when Puppet reports that there are none). It doesn't matter if the server has traffic or not, the number of free threads doesn't change.\n\nI have max-requests-per-instance set to 3000 and at the moment of starting failing, the borrow count is at 6K. Failing requests have a backend time of ~1200000, which matches with the default value for borrow-timeout.\n\nMy latest test has been to set max-requests-per-instance to 0 to see if the problem was related with the lock acquired when refreshing the instance. With this configuration the server was able to run for 7 hours, but the number of free threads with and without traffic was still 1 for most of the time.\n\nThe following plots cover the whole range since I spawned the pod (with traffic already pointing to the server) until several minutes after I stopped it. As you can see the number of free threads is 0 or 1 after 2 hours running. After that, it never goes above 1.\n\n !image-2020-08-21-14-43-24-300.png!\n\nA thread dump of the java process (done with jstack) shows a deadlock. You can find the whole dump attached to this ticket.", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "16274", "fixedVersions": [], "id": "16274", "issueType": "Bug", "key": "SERVER-2860", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c098ea9575800695ac870", "status": "Ready for Review", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRubyInstance borrow timing-out on multithreaded mode", "timeSpent": "PT0S", "updated": "2022-03-09T09:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I put up https://github.com/puppetlabs/jvm-ssl-utils/pull/97 as a further improvement, figuring out what to do about branching for that library.", "created": "2020-08-24T10:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Docs for this are here https://github.com/puppetlabs/puppetserver/pull/2399", "created": "2020-08-26T11:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Working on the mergeup now. It's a bit of its own project due to all the features added to the CA in 6.x.", "created": "2020-08-26T12:34:00.000000"}], "components": [], "created": "2020-08-20T12:16: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@721f8c8d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03pew:"}, {"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": "Added a new CA API endpoint, `puppet-ca/v1/clean` that accepts a list of cert names to be revoked and deleted as a batch."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_500162410_*|*_1_*:*_1_*:*_27588_*|*_10007_*:*_1_*:*_95065329_*|*_3_*:*_1_*:*_354794716_*|*_5_*:*_1_*:*_0"}], "description": "Sometimes users want to revoke and delete SSL files for many nodes at once. Currently, this requires two API requests for each node, and it requires the CRL to be read and rewritten for each revocation.\n\nWe want to implement an API endpoint that combines both of these actions and supports batching. Thinking of calling this {{puppet-ca/v1/clean}}, to correspond to the {{clean}} action in the CLI tool, which both revokes and deletes.\n\nBecause of the batching, the request might take a long time to respond. For now, for expediency, I plan to implement this as a synchronous endpoint, but ultimately it makes more sense for it to be command-style. I will include a flag in the request body to indicate whether it should be executed synchronously or asynchronously, to give us the option to implement the command style later without requiring a new API.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16940", "fixedVersions": ["SERVER 5.3.15", "SERVER 6.14.0"], "id": "16940", "issueType": "New Feature", "key": "SERVER-2859", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-08-31T12:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add API endpoint for bulk cleaning of certs", "timeSpent": "PT0S", "updated": "2022-04-25T11:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:40:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@34945770"}, {"fieldName": "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-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03oyo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1338_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2243028111"}], "description": "(Initial planned release date: 2020-08-25)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-08-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "14925", "fixedVersions": [], "id": "14925", "issueType": "Task", "key": "SERVER-2858", "labels": [], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-09-14T17:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.13.0)", "timeSpent": "PT0S", "updated": "2020-09-14T17:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Not destined for a PE release.", "created": "2020-08-25T12:15:00.000000"}], "components": [], "created": "2020-08-19T18:39:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4be2fe61"}, {"fieldName": "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-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03oy8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1367_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_495344673"}], "description": "(Initial planned release date: 2020-08-25)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-08-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "17225", "fixedVersions": [], "id": "17225", "issueType": "Task", "key": "SERVER-2857", "labels": [], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Won't Do", "resolutionDate": "2020-08-25T12:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.13.0)", "timeSpent": "PT0S", "updated": "2020-08-25T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:39:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f9aca9c"}, {"fieldName": "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-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03oy0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_58799495_*|*_1_*:*_1_*:*_1178_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_430159794"}], "description": "(Initial planned release date: 2020-08-25)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.13.0 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-08-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "16939", "fixedVersions": [], "id": "16939", "issueType": "Task", "key": "SERVER-2856", "labels": [], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-08-25T10:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.13.0)", "timeSpent": "PT0S", "updated": "2020-08-25T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This should get merged on release day, along with the release notes: https://github.com/puppetlabs/puppetserver/pull/2379", "created": "2020-08-21T15:52:00.000000"}], "components": [], "created": "2020-08-19T18:39:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@316f5206"}, {"fieldName": "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-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03oxs:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1341_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_495256881"}], "description": "(Initial planned release date: 2020-08-25)\n\nWrite [release notes|https://github.com/puppetlabs/puppetserver/blob/master/documentation/release_notes.markdown] for the release based on the tickets found in the previous step:\n* Search for tickets with {{fixVersion = \"SERVER 6.13.0\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @K8med in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2020-08-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "16603", "fixedVersions": [], "id": "16603", "issueType": "Task", "key": "SERVER-2855", "labels": [], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-08-25T12:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.13.0)", "timeSpent": "PT0S", "updated": "2020-08-25T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-08-19T18:39:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4216422f"}, {"fieldName": "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-10629"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03oxk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1309_*|*_3_*:*_1_*:*_429771177_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_59165056"}], "description": "(Initial planned release date: 2020-08-25)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-08-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "estimate": "PT0S", "externalId": "16272", "fixedVersions": [], "id": "16272", "issueType": "Task", "key": "SERVER-2854", "labels": [], "originalEstimate": "PT0S", "parent": "22308", "parentSummary": "Puppet Platform 6.18.0 Release - 2020-08-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Done", "resolutionDate": "2020-08-25T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.13.0)", "timeSpent": "PT0S", "updated": "2020-08-25T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-08-13T17:24: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@6da59274"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03la0:"}, {"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": "Updated JRuby to 9.2.13.0, which contains a fix for https://nvd.nist.gov/vuln/detail/CVE-2017-18640."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_589479724_*|*_1_*:*_1_*:*_23199_*|*_10007_*:*_1_*:*_19733381_*|*_3_*:*_1_*:*_63041450_*|*_5_*:*_1_*:*_0"}], "description": "JRuby 9.2.13.0 has been released, we should update to it for the Server 6.13 release.\n\nRelease notes: https://www.jruby.org/2020/08/03/jruby-9-2-13-0.html", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14924", "fixedVersions": ["SERVER 6.13.0"], "id": "14924", "issueType": "Task", "key": "SERVER-2853", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-08-21T12:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby to 9.2.13.0", "timeSpent": "PT0S", "updated": "2020-08-21T12:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c1489a1d81f0069d8e30a", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [FACT-2742|https://github.com/puppetlabs/facter/pull/2030] should fix the issue. We already have a mechanism to catch load errors similar to the one from puppet and I took advantage of the current implementation.\n Made a PR on server to test the changes [https://github.com/puppetlabs/puppetserver/pull/2386]", "created": "2020-08-13T09:03:00.000000"}, {"author": "623c1489a1d81f0069d8e30a", "body": "Today I checked with facter:4.x branch and server test seem to pass https://github.com/puppetlabs/puppetserver/pull/2386\n", "created": "2020-08-14T07:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Merged, thank you!", "created": "2020-08-14T09:24:00.000000"}], "components": [], "created": "2020-08-07T16:09: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@5ea573a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o03i28:"}, {"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/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2541825_*|*_1_*:*_1_*:*_498808773_*|*_10007_*:*_1_*:*_81700648_*|*_5_*:*_1_*:*_0"}], "description": "We are currently using Facter 4 in our dev and test environments (when running puppetserver from source). The EC2 fact resolver adding in 4.0.27 starting [requiring Net::HTTP|https://github.com/puppetlabs/facter/blob/05c538787626e4b418337e661d36a745910642e6/lib/facter/resolvers/ec2.rb#L3], which in turn requires OpenSSL, which isn't available when running the server in FIPS mode. When we updated our Facter submodule to this version, FIPS testing broke.\n\nUntil we can find a way to avoid loading this resolver when using Facter in Puppet Server, we have to pin to 4.0.26, see https://github.com/puppetlabs/puppetserver/pull/2383.\n\n*Options*\n* depending on how it's implemented, we might be able to use Facter's block list, but not if the resolver is still required even when fact collection is blocked\n* skip requiring the EC2 resolver optional in Facter similar to how we [avoid loading OpenSSL|https://github.com/puppetlabs/puppet/blob/eadd5474c26e7d28d90de00b9d7a7545ac10e55d/lib/puppet/ssl/openssl_loader.rb#L8] in Puppet\n* Extract the resolvers for the few facts puppetserver needs from Facter proper, and stop requiring Facter in the server altogether.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16051", "fixedVersions": ["SERVER 6.13.0"], "id": "16051", "issueType": "Bug", "key": "SERVER-2852", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-08-14T10:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Facter 4.0.27+ does not work in FIPS mode", "timeSpent": "PT0S", "updated": "2020-08-14T10:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "https://github.com/puppetlabs/ci-job-configs/pull/7205", "created": "2020-08-04T15:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This was merged, won't be able to test it out till the next time we need a clj-parent release. But I'm going to close this now, and we can do any follow-on work as part of a separate ticket.\n\nIf this works out well for puppetserver, my next step would be to add similar jobs for pe-pse and pe-puppetserver.", "created": "2020-08-05T13:10:00.000000"}], "components": [], "created": "2020-08-04T12:14: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@6e1bd540"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03fdk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_214893_*|*_10007_*:*_1_*:*_76778632_*|*_3_*:*_1_*:*_12781017_*|*_5_*:*_1_*:*_0"}], "description": "I'm envisioning a job that is triggered when clj-parent is released, that will update the version in puppetserver's project.clj file. If the model works well for puppetserver, we can expand it to other projects.\n\nI'm going to do this as a normal JJB-defined Jenkins job, because there is plenty of prior art. If we decide to do something similar on a wider scale, we can discuss other tooling options.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14922", "fixedVersions": [], "id": "14922", "issueType": "Task", "key": "SERVER-2851", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-08-05T13:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Build prototype clj-parent promotion job for puppetserver", "timeSpent": "PT0S", "updated": "2020-08-05T13:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-31T16:19:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1eece596"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03dy8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11094703_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_50524645766"}], "description": "We have PR testing on the puppetserver repo that runs our clojure tests in its various modes (e.g. single vs. multithreaded) for every PR that is opened.\n\nWe also run the clojure tests (singlethreaded only) as part of our jenkins pipeline.\nThis means we're running some tests twice.\n\nThe reason we're currently doing this is to ensure we test any changes that did not go through the PR process.\nThe only changes we can think of that don't go through PR are mergeups.\n\nHave the mergeup job kick off the clojure tests, rather than running them every time the pipeline is run.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "14920", "fixedVersions": [], "id": "14920", "issueType": "Task", "key": "SERVER-2850", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Don't run clojure tests unnecessarily", "timeSpent": "PT0S", "updated": "2022-03-08T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-31T16:18: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@121f4715"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:7"}], "description": "We currently have some basic smoke tests (ex. list of what [runs in Jenkins|https://github.com/puppetlabs/ci-job-configs/blob/9bd73fe14ae85f0bca52f97a2c8e3dd9928b663b/resources/job-groups/puppetserver.yaml#L244-L246], from [here|https://github.com/puppetlabs/puppetserver/tree/master/acceptance/suites]) that ensure that certain older agents can check in with newer masters. Now that we've added a branch for the Platform 7 stream, theoretically we a new compat test for Puppet 6 with it.\n\n*However*, we don't currently run all the tests we have, and they pretty much never fail. We should maybe discuss how useful these tests are in their current form, and weigh whether to keep them, before adding another one.", "duedate": "2022-06-30T00:00:00.000000", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "17527", "fixedVersions": [], "id": "17527", "issueType": "Task", "key": "SERVER-2849", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add compat tests for Puppet < 7 to puppetserver#main?", "timeSpent": "PT0S", "updated": "2022-03-09T08:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-07-31T09:57: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@c9ce0df"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o03dls:"}, {"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_*:*_106889182_*|*_1_*:*_1_*:*_12192_*|*_3_*:*_1_*:*_259709183_*|*_5_*:*_1_*:*_0"}], "description": "Development work targeted specifically at Platform 7 has begun in the Puppet repo, so we should have Server branches and pipelines to integrate that work.\n\n*We want to:*\n* rename master to 6.x, but leave it as the default branch for now\n* create a new main branch, which will be the target for Platform 7 work\n* create test pipelines that pull in puppet-agent#next, which is where puppet#main promotes to\n* set up mergeups from 6.x -> main", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15709", "fixedVersions": ["SERVER 7.0.0"], "id": "15709", "issueType": "Task", "key": "SERVER-2848", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-08-04T15:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Set up CI pipelines for `main` branch (platform 7)", "timeSpent": "PT0S", "updated": "2020-08-04T15:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2020-07-29T16:22:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@232de1b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkb8ei"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1382327_*|*_3_*:*_1_*:*_1296431616_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_409293151"}], "description": "Specify the API to be used in SERVER-2845. For now it only needs to serve file content out of bolt projects but it might be good to make it flexible enough to also serve from environments in the future and replace the existing file_content endpoint (so essentially a v4).\n\nIn scope:\n * API spec to serve file_content from bolt projects\n * Source is addressed as project name and version\n * Allow specifying either the project or environment as a source\n\nOut of scope:\n * implementing serving from environment\n\nOpen questions:\n * Is this actually necessary? Even though this will have a new backend implementation it's possible it could be slotted into the existing api with a query parameter. Worth double checking.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16602", "fixedVersions": [], "id": "16602", "issueType": "New Feature", "key": "SERVER-2846", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2020-08-18T10:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "specify new version of file_content api", "timeSpent": "PT0S", "updated": "2020-08-18T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2020-07-29T16:16:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@740bcdcd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkb8f"}, {"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_*:*_179793230_*|*_1_*:*_1_*:*_1742621_*|*_10007_*:*_1_*:*_408355086_*|*_3_*:*_1_*:*_1212974925_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_602646983"}], "description": "Implement serving of file_content for bolt projects in puppetserver. Since we have the opportunity, implement this in clojure so it doesn't add any jruby contention. The code for this will go in FOSS puppetserver.\n\nProject structure is defined here [https://github.com/puppetlabs/bolt/blob/main/lib/bolt/project.rb]. \n\n*Outcomes*\n* a functioning [endpoint|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/master/master_core.clj#L1024] that corresponds to the spec from SERVER-2846.\n* clojure integration tests\n* API docs under the [puppet API|https://github.com/puppetlabs/puppetserver/tree/master/documentation/puppet-api] (the section will be determined as part of SERVER-2846)\n\nAs a separate piece of work:\nWe might want to consider making sure this project layout is specified somewhere besides just in Bolt code, so it's more obvious when something changes. Perhaps something in https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md? Some of the knowledge about this structure will have to be duplicated in clojure but it shouldn't be too bad.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16366", "fixedVersions": ["SERVER 6.13.0"], "id": "16366", "issueType": "New Feature", "key": "SERVER-2845", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2020-08-26T12:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Serve file_content for bolt projects", "timeSpent": "PT0S", "updated": "2020-11-11T17:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The parts of puppetserver that automagically reload configuration currently cause us a lot of problems (notably settings). We're hoping to move away from that sort of thing generally. Would better documentation help? Or is there a specific use case here that would really take advantage of automatic reloading (outside of the dev workflow)?\n\nCode manager is completely separate from this, it deploys _Puppet_ code, not library code for the Puppet application.", "created": "2020-07-28T17:26:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] It's not the {{reports}} setting specifically but the processors' implementation that is out-of-date. For example, if my {{reports}} setting is {{puppetdb,servicenow}}, then if the implementation of {{puppetdb}} or {{servicenow}} changes (the {{lib/puppet/reports/<name>.rb}} file), I'll need to manually reload puppetserver to capture those changes.\n\nI was (naively) thinking this problem could be solved via whatever's done to refresh custom function implementations. But I am also clueless about puppetserver code.\n\nUse-case is any module that ships a report processor that's going to be iterated on multiple times (like the {{servicenow_reporting_integration}}) before we get to a stable state. Automagically handling the sync results in a better UX for customers b/c that can be a subtle documentation detail that people miss.", "created": "2020-07-28T18:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Looking more at the report loading code, it kind of looks like we do go [through the autoloader|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/reports.rb#L35] for report processors. Do you by any chance have an environment timeout configured to something non-zero? If so, the issue may simply be that your environment is getting cached, and needs to be refreshed before it will load your changes. You could try setting {{environment_timeout=0}} and see if that helps. If you want to keep a longer TTL, there's an [endpoint|https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html] you can hit to flush the environment cache on demand without a reload.\n\nI don't have a deep understanding of this code though, so no guarantees :)", "created": "2020-07-29T10:01:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Thanks for digging into this! Looks like `environment_timeout` was set to 0 when I was running into the issue. Our module's also handling the sync so this isn't an issue anymore for the reporting integration (see https://github.com/puppetlabs/puppetlabs-servicenow_reporting_integration/commit/ce23a8f8787060e85b59be339dcfdcb76799f027 -- we're going with a restart since there's already a restart for the ini_subsetting resource and it seemed easier than adding manifest code that called a puppetserver API endpoint).\n\nNo worries. Are there plans to eventually fix this issue though? Eventually could also be a really long time, just trying to see if y'all think it is an issue worth fixing.", "created": "2020-07-29T11:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:63d40628f6e1b543161789a7] thoughts?", "created": "2020-07-29T11:49:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Report processors can be deployed in modules, along with facts, type, etc. For example to get the [splunk report processor|https://github.com/puppetlabs/puppetlabs-splunk_hec/blob/master/lib/puppet/reports/splunk_hec.rb], you just need to do {{puppet module install puppetlabs-splunk_hec}}.\u00a0I was thinking r10k/codemgr could at least warn when it deploys a new module that contains a report processor whose version is different than what's already been deployed. For example, we already have some \"when deploying a module\" code in r10k to generate pcore resource types: https://github.com/puppetlabs/r10k/blob/617f13792157bce68b40cf8b88be56cfea1a92d5/lib/r10k/action/deploy/module.rb#L67. It may be sufficient to just include some output like \"hey your module contains a report processor and it won't take effect until puppetserver is reloaded\". I'm also lumping r10k and code manager together, which may not be correct.\n\u00a0", "created": "2020-07-29T14:34:00.000000"}], "components": [], "created": "2020-07-27T10:59: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@233c07ae"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o03ajc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_109640579_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_49598857545"}], "description": "Given a report processor that's stored in {{lib/puppet/reports/<name>.rb}}, any changes to the report processor's implementation requires a puppetserver reload. puppetserver should try to automagically do this for the user (if it can), or at least have a documented pattern that takes advantage of something like code manager. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15425", "fixedVersions": [], "id": "15425", "issueType": "Bug", "key": "SERVER-2844", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Won't Fix", "resolutionDate": "2022-02-22T17:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver fails to detect report processor changes", "timeSpent": "PT0S", "updated": "2022-02-22T17:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-07-22T02:37: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@4f20fb3b"}, {"fieldName": "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-3341"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o037lc:"}, {"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_*:*_1759_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_7197800024"}], "description": "Remove {{[Puppet7]EL 5}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove [Puppet7]EL 5 FOSS support", "estimate": "PT0S", "externalId": "14919", "fixedVersions": [], "id": "14919", "issueType": "Task", "key": "SERVER-2843", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "57230", "parentSummary": "Remove [Puppet7]EL 5 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-10-13T10:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove [Puppet7]EL 5 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2021-03-11T12:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The example shows generation failing due to a DNS issue, because this is easy to configure. There are many other ways in which the same issue can fail though: a load balancer could return a HTTPS 503 response because the CA service is not reachable. This would cause certificate generation to fail even though the Puppet Server service is not running.\n\nCreating a new CA client needs to be done under emergency circumstances if the agent certificate for the node hosting Puppet Server has been damaged. To facilitate recovery in emergencies, the {{check_server_online}} logic should probably do one of:\n\n  - Accept any instance of {{Puppetserver::Ca::ConnectionFailed}}, not those that happen to wrap specific errors like TCP connection refused.\n\n  - Or, accept a {{--force}} flag that bypasses this specific safety check in favor of making recovery easier in an emergency.", "created": "2020-07-08T11:28:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We think the server healthcheck is still valuable, so a {{--force}} flag sounds like the right solution for handling cases like this.", "created": "2021-08-17T12:22:00.000000"}], "components": ["Certificate Authority"], "created": "2020-07-08T11:22:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17820096"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0atfs:"}, {"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": "The `puppetserver ca generate --ca-client` command now can take a `--force` flag that will cause it to generate the cert even if the tool is unable to determine whether Puppet Server is offline. It is recommended that users manually ensure their server is offline before using this flag, to avoid potential CA corruption."}, {"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/Aug/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_152355113_*|*_1_*:*_1_*:*_89982424_*|*_10007_*:*_1_*:*_359267462_*|*_3_*:*_1_*:*_153420328_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1310769872_*|*_10005_*:*_1_*:*_34905626013"}], "description": "The {{puppetserver ca generate --ca-client}} command performs an offline generation of a new certificate. This is useful in order to repair the agent certificate of a CA server. To ensure it is the only process manipulating CA state, the command does a HTTPS status check on the Puppet Server hostname and fails if the result is something other than a TCP connection refused:\n\nhttps://github.com/puppetlabs/puppetserver-ca-cli/blob/1.8.0/lib/puppetserver/ca/action/generate.rb#L170-L172\n\nThis check is prone to false positives if there is a DNS configuration issue, or proxy that generates a different response than TCP connection refused.\n\nh2. Reproduction Case\n\n  - Install Puppet Server 6.12.0 on CentOS 7:\n\n{code:bash}\nyum install -y http://yum.puppetlabs.com/puppet6-release-el-7.noarch.rpm\nyum install -y puppetserver-6.12.0\n{code}\n\n  - Bootstrap the Puppet Server CA:\n\n{code:bash}\n/opt/puppetlabs/bin/puppetserver ca setup\n{code}\n\n  - Simulate a DNS outage/misconfiguration by configuring Puppet's {{server}} setting to point at an unresolvable hostname:\n\n{code:bash}\n/opt/puppetlabs/bin/puppet config set server dns-outage.invalid\n{code}\n\n  - Attempt to generate a new CA client certificate:\n\n{code:bash}\nsystemctl stop puppetserver\n/opt/puppetlabs/bin/puppetserver ca generate --ca-client --certname new-cert.test\n{code}\n\nh3. Outcome\n\nCertificate generation fails because the error produced by the Puppet Server health check is not a TCP connection refusal:\n\n{noformat}\n# /opt/puppetlabs/bin/puppetserver ca generate --ca-client --certname new-cert.test\nFatal error when running action 'generate'\n  Error: Failed connecting to https://dns-outage.invalid:8140/status/v1/simple/ca\n  Root cause: Failed to open TCP connection to dns-outage.invalid:8140 (getaddrinfo: Name or service not known)\n{noformat}\n\nh3. Expected Outcome\n\nCertificate generation succeeds because the {{puppetserver}} service is not running.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15239", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.4.0"], "id": "15239", "issueType": "Bug", "key": "SERVER-2842", "labels": ["docs-reviewed", "froyo_intern"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2021-09-09T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca generate --ca-client fails when puppetserver is not running", "timeSpent": "PT0S", "updated": "2021-09-09T16:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "5cf96166b7268e0e7bb41131", "body": "By \"not super well maintained\", I mean the fork depends on [com.cemerick/clojurescript.test] - also deprecated upstream - and on [pathetic](https://mvnrepository.com/artifact/pathetic/pathetic/0.5.1), that hasn't been released since 2013...", "created": "2020-07-03T14:11:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for pointing this out. We'll look into it.", "created": "2020-07-09T12:24:00.000000"}], "components": ["Puppet Server"], "created": "2020-07-03T14:03:00.000000", "creator": "5cf96166b7268e0e7bb41131", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1b8944f0"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o02wvs:"}, {"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": "09/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_160395302_*|*_1_*:*_1_*:*_512417293_*|*_10007_*:*_1_*:*_6370107_*|*_3_*:*_1_*:*_95441_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_28773043684"}], "description": "Hi,\n\nWhile working on packaging puppetserver in Debian, I found out it uses the [com.cemerick/url] dependency.\n\nThis project has since been deprecated by the upstream author. A fork exists ([https://github.com/arohner/uri)] but seems to introduce changes and doesn't seem super well maintained.\n\n\nWould be it possible to see if this dependency can be removed, and if not, move to the fork instead?\n\nCheers,", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17526", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.1"], "id": "17526", "issueType": "Bug", "key": "SERVER-2841", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5cf96166b7268e0e7bb41131", "resolution": "Fixed", "resolutionDate": "2021-06-09T11:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Clojure dependency com.cemerick/url deprecated upstream", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "Closing this as there will be other tickets generated with this platform goes EOL", "created": "2020-09-30T00:01:00.000000"}], "components": [], "created": "2020-07-02T04:52: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@31a80fb"}, {"fieldName": "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-3325"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02w3s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1708_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1658111920_*|*_10005_*:*_1_*:*_6100408808"}], "description": "Remove {{[Puppet7]Debian 8}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove [Puppet7]Debian 8 FOSS support", "estimate": "PT0S", "externalId": "15422", "fixedVersions": [], "id": "15422", "issueType": "Task", "key": "SERVER-2840", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "58072", "parentSummary": "Remove [Puppet7]Debian 8 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Won't Fix", "resolutionDate": "2020-09-30T00:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove [Puppet7]Debian 8 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2020-09-30T00:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:57:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e7ded33"}, {"fieldName": "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-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02ud4:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1204_*|*_3_*:*_1_*:*_771100_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2090326878"}], "description": "(Initial planned release date: 2020-06-14)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-06-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "16601", "fixedVersions": [], "id": "16601", "issueType": "Task", "key": "SERVER-2839", "labels": [], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-24T17:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.12.1)", "timeSpent": "PT0S", "updated": "2020-07-24T17:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:57:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@133e882d"}, {"fieldName": "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-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02uco:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_965_*|*_10007_*:*_1_*:*_265378_*|*_3_*:*_1_*:*_369254_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_793985761"}], "description": "(Initial planned release date: 2020-06-14)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-07-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "16049", "fixedVersions": [], "id": "16049", "issueType": "Task", "key": "SERVER-2838", "labels": [], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-09T17:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.12.1)", "timeSpent": "PT0S", "updated": "2020-07-09T17:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:57:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@d2a4abb"}, {"fieldName": "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-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02ucg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1014_*|*_3_*:*_1_*:*_86920081_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_786425986"}], "description": "(Initial planned release date: 2020-06-14)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 6.12.1 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-07-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "15707", "fixedVersions": [], "id": "15707", "issueType": "Task", "key": "SERVER-2837", "labels": [], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-10T15:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.12.1)", "timeSpent": "PT0S", "updated": "2020-07-10T15:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:57:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16fddb6e"}, {"fieldName": "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-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02uc8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1138_*|*_10007_*:*_1_*:*_412021360_*|*_3_*:*_1_*:*_10410047_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_783961059"}], "description": "(Initial planned release date: 2020-06-14)\n\nWrite [release notes|https://github.com/puppetlabs/puppetserver/blob/master/documentation/release_notes.markdown] for the release based on the tickets found in the previous step:\n* Search for tickets with {{fixVersion = \"SERVER 6.12.1\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @clairecadman in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2020-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "15420", "fixedVersions": [], "id": "15420", "issueType": "Task", "key": "SERVER-2836", "labels": [], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-14T12:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.12.1)", "timeSpent": "PT0S", "updated": "2020-07-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:57:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@333405f1"}, {"fieldName": "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-10562"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02uc0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1073_*|*_3_*:*_1_*:*_1469401_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_771850587"}], "description": "(Initial planned release date: 2020-06-14)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "estimate": "PT0S", "externalId": "15234", "fixedVersions": [], "id": "15234", "issueType": "Task", "key": "SERVER-2835", "labels": [], "originalEstimate": "PT0S", "parent": "29789", "parentSummary": "Puppet Platform 6.17.0 Release - 2020-06-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-09T11:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.12.1)", "timeSpent": "PT0S", "updated": "2020-07-09T11:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:55:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c94febe"}, {"fieldName": "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-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02u6w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1113_*|*_3_*:*_1_*:*_779868_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2090449279"}], "description": "(Initial planned release date: 2020-07-14)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-07-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "17224", "fixedVersions": [], "id": "17224", "issueType": "Task", "key": "SERVER-2834", "labels": [], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-24T17:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-07-24T17:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@377e6011"}, {"fieldName": "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-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02u6g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1103_*|*_10007_*:*_1_*:*_1904931_*|*_3_*:*_1_*:*_239896_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_190586835"}], "description": "(Initial planned release date: 2020-07-14)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\nFor example: https://github.com/puppetlabs/ci-job-configs/commit/a9b5ca9d3a87fc5740f2ceb1af08074523131516\n", "duedate": "2020-07-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "16600", "fixedVersions": [], "id": "16600", "issueType": "Task", "key": "SERVER-2833", "labels": [], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-02T18:27:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-07-02T18:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@382e23ae"}, {"fieldName": "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-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02u68:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_990_*|*_3_*:*_1_*:*_423432862_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_172566617"}], "description": "(Initial planned release date: 2020-07-14)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE. For example, [this|https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_release-clj_master_release/] is the job for master.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* If you haven't already, notify the puppet-agent release lead that puppetserver 5.3.14 is built and ready for testing.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-07-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "16365", "fixedVersions": [], "id": "16365", "issueType": "Task", "key": "SERVER-2832", "labels": [], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-07T10:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-07-07T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49104039"}, {"fieldName": "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-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02u60:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1043_*|*_10007_*:*_1_*:*_1034135696_*|*_3_*:*_1_*:*_350542_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_172063131"}], "description": "(Initial planned release date: 2020-07-14)\n\nWrite [release notes|https://github.com/puppetlabs/puppetserver/blob/master/documentation/release_notes.markdown] for the release based on the tickets found in the previous step:\n* Search for tickets with {{fixVersion = \"SERVER 5.3.14\"}}.\n* Check each ticket's DOCS tab for the necessary release notes.\n* Request review from the docs team by pinging @clairecadman in the opened PR - give her at least two days prior to ship to review.\n* The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n* Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band, ask in the #prod-docs Slack channel.\n", "duedate": "2020-07-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "16047", "fixedVersions": [], "id": "16047", "issueType": "Task", "key": "SERVER-2831", "labels": [], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-14T12:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-07-14T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-06-30T12:54:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@639aae83"}, {"fieldName": "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-10552"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02u5s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1009_*|*_3_*:*_1_*:*_3339452_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_164259046"}], "description": "(Initial planned release date: 2020-07-14)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* If this is an X or Y release, ensure the SNAPSHOT version in [project.clj|https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L1] is updated with the new version. This is necessary for the tag/build/release job to work properly.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release; non-SERVER tickets that landed in puppetserver can be ignored if they don't need a release note.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-07-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "estimate": "PT0S", "externalId": "15702", "fixedVersions": [], "id": "15702", "issueType": "Task", "key": "SERVER-2830", "labels": [], "originalEstimate": "PT0S", "parent": "21382", "parentSummary": "Puppet Platform 5.5.21 Release - 2020-07-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2020-07-02T11:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.14)", "timeSpent": "PT0S", "updated": "2020-07-02T11:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-06-29T11:18:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@424de1c9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:45"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_187948246_*|*_1_*:*_1_*:*_868079869_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_491700828_*|*_10005_*:*_1_*:*_3044728987"}], "description": "Add ubuntu-20.04-amd64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16364", "fixedVersions": ["SERVER 6.13.0"], "id": "16364", "issueType": "Task", "key": "SERVER-2829", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2020-08-21T14:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable ubuntu-20.04-amd64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2020-08-21T14:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "5b5a27ad106ec32d95ea277d", "body": "Docs coming from [~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c]", "created": "2020-08-21T14:54:00.000000"}], "components": [], "created": "2020-06-29T11:18:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69fe9d69"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:44i"}, {"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": "We are now shipping packages for Ubuntu 20.04 for Puppetserver."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_187966626_*|*_1_*:*_1_*:*_868100698_*|*_3_*:*_1_*:*_86823625_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_404874722_*|*_10005_*:*_1_*:*_3044705866"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for ubuntu-20.04-amd64\n* Add ubuntu-20.04-amd64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16045", "fixedVersions": ["SERVER 6.13.0"], "id": "16045", "issueType": "Task", "key": "SERVER-2828", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2020-08-21T14:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable ubuntu-20.04-amd64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2020-08-21T14:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We've merged a fix to disable debug mode, so the 404's should not print large stacks anymore. That fix hasn't been released yet, so I'll block this ticket till that happens. Then you can let us know if that's sufficient.", "created": "2020-06-29T09:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this should in your environment at this point, Have you noticed these stacks be better [~accountid:557058:f23b0b7f-9386-48b3-bd71-4399766356f4]?", "created": "2020-07-29T10:18:00.000000"}], "components": [], "created": "2020-06-24T16:49: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@6dd5a61"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02pqw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_407310040_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_53323366408"}], "description": "*Puppet Version: 6.16.0*\n *Puppet Server Version:\u00a0 2019.8.0.22*\n *OS Name/Version: Centos 7*\n\nWe use a number of Jolokia metrics, but there are a few timers in puppetserver that don't exist until an event occurs. For these, Jolokia logs a long backtrace that clutters up our logs. (Just returning a 404 would be fine)\n\n*Desired Behavior:*\n\nEither prepopulate the timers so that these error don't occur or simply returning an error event without a backtrace would also be an improvement.**\n\n*Actual Behavior:*\n\nExample error:\n{code:java} 2020-06-24T09:21:00.097-07:00 ERROR [qtp1699810223-128] [p.t.s.m.jolokia] Error 404\n 1314 javax.management.InstanceNotFoundException: puppetserver:name=puppetlabs.<hostname>.compiler.evaluate_node_classes\n <100's of lines of backtrace>{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15232", "fixedVersions": [], "id": "15232", "issueType": "Improvement", "key": "SERVER-2826", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Medium (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Fixed", "resolutionDate": "2022-03-08T13:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepopulate timers for Jolokia / JMX metrics", "timeSpent": "PT0S", "updated": "2022-03-08T13:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppetserver depends on the puppet-agent package to provide the puppet ruby code that runs within puppetserver. The issue you saw is likely because the puppet-agent package on the puppetserver host updated, but the puppetserver process wasn't restarted. There was some discussion around automatically restarting puppetserver, see SERVER-1756.", "created": "2020-06-25T10:15:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "I agree, that's probably what happened. Not an issue then, I'll have that in mind next time I update agents on the compiler hosts.\n\nThanks [~accountid:63d40628f6e1b543161789a7]!", "created": "2020-06-25T11:21:00.000000"}], "components": ["Puppet Server"], "created": "2020-06-24T11:13:00.000000", "creator": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fbc803e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o02pjc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_82918196_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_354816544"}], "description": "Hello,\n\nUpgraded a couple of agents from 6.14 to 6.16. Running against server 6.12.\n\nGot the following error on server:\n{noformat}\n2020-06-24T16:12:52.177Z ERROR [qtp1934319119-44] [puppetserver] Puppet Server Error: Could not intern from json: Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem).2020-06-24T16:12:52.177Z ERROR [qtp1934319119-44] [puppetserver] Puppet Server Error: Could not intern from json: Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem).org/jruby/RubyKernel.java:974:in `require'uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54:in `require'/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:157:in `load_adapter_from_string_name'/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:99:in `load_adapter'/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:103:in `load_adapter'/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:91:in `use'/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:73:in `adapter'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:40:in `load'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/formats.rb:119:in `intern'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_support.rb:12:in `convert_from'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:93:in `convert_wire_facts'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:31:in `block in extract_facts_from_request'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:29:in `extract_facts_from_request'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:48:in `find'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:138:in `do_find'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:54:in `block in call'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:53:in `call'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'org/jruby/RubyArray.java:1809:in `each'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:87:in `block in process'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:70:in `block in with_request_profiling'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:66:in `with_request_profiling'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:93:in `respond_to_errors'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `process'uri:classloader:/puppetserver-lib/puppet/server/master.rb:64:in `block in handleRequest'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'uri:classloader:/puppetserver-lib/puppet/server/master.rb:63:in `handleRequest'2020-06-24T16:12:52.189Z ERROR [qtp1934319119-44] [p.r.core] Internal Server Error: org.jruby.exceptions.ArgumentError: (null) Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem). at RUBY.load_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:110) at RUBY.load_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:103) at RUBY.use(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:91) at RUBY.adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:73) at RUBY.current_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:133) at RUBY.dump(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:139) at RUBY.dump(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:62) at RUBY.to_json(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/error.rb:70) at RUBY.respond_with_http_error(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:104) at RUBY.respond_to_errors(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:100) at RUBY.process(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85) at RUBY.handleRequest(uri:classloader:/puppetserver-lib/puppet/server/master.rb:64) at RUBY.override(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62) at RUBY.override(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290) at RUBY.handleRequest(uri:classloader:/puppetserver-lib/puppet/server/master.rb:63)\n2020-06-24T16:12:52.601Z INFO\u00a0 [qtp1934319119-47] [puppetserver] Puppet Bad Request: The request body is invalid: Could not intern from json: Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem).2020-06-24T16:12:52.605Z ERROR [qtp1934319119-47] [p.r.core] Internal Server Error: org.jruby.exceptions.ArgumentError: (null) Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem). at RUBY.load_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:110) at RUBY.load_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:103) at RUBY.use(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:91) at RUBY.adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:73) at RUBY.current_adapter(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:133) at RUBY.dump(/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:139) at RUBY.dump(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:62) at RUBY.to_json(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/error.rb:16) at RUBY.respond_with_http_error(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:104) at RUBY.respond_to_errors(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:96) at RUBY.process(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85) at RUBY.handleRequest(uri:classloader:/puppetserver-lib/puppet/server/master.rb:64) at RUBY.override(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62) at RUBY.override(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290) at RUBY.handleRequest(uri:classloader:/puppetserver-lib/puppet/server/master.rb:63)\n{noformat}\nError on agent:\n{noformat}\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.ArgumentError: (null) Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem).\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nError: Could not send report: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.ArgumentError: (null) Did not recognize your adapter specification (no such file to load -- multi_json/adapters/json_gem).\n\n{noformat}\nHowever, I was not able to replicate this again.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17223", "fixedVersions": [], "id": "17223", "issueType": "Bug", "key": "SERVER-2825", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "resolution": "Incomplete", "resolutionDate": "2020-06-29T12:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Unexpected server exception", "timeSpent": "PT0S", "updated": "2020-06-29T12:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "bq. we should update the tuning docs to reflect what we have learned.\n\nAs someone who really would like to vertically scale their Puppetservers using multithreaded mode, I'm super curious what you all have learned.\n\nDoes this ticket being closed as \"won't do\" mean that nothing was learned, or that the public docs won't be updated with what was learned?", "created": "2022-03-08T12:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "You're welcome to try using it, but some users have hit issues where the server will deadlock. We fixed one issue causing that, which makes it less frequent, but we're not convinced it's entirely fixed.\n\nWe haven't done much official performance profiling. The effort that started a while back got completely deprioritized. So while we could document things like they _way_ it scales, I'm not sure we have any numbers. Would that still be useful to you?", "created": "2022-03-08T12:15:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Thanks for clarifying, though it is a bummer to hear that the effort got deprioritized.\n\nI was trying to think where it might fit in the [https://puppet.com/docs/puppet/7/server/tuning_guide.html] docs, but as multithreaded mode is still experimental and is known to have some problems, it's probably not worth mentioning it there.\n\nAnd in the puppetserver.conf reference, there is a blurb that says {{max-active-instances}} is how many threads are used for multithreaded mode, so I think we're covered there. Not sure what else would be needed.", "created": "2022-03-08T12:29:00.000000"}], "components": [], "created": "2020-06-16T16:43: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@62d273a9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02l2g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1099257655_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_53319257877"}], "description": "Once we have a better sense of the performance and scaling characteristics of multithreaded mode, we should update the [tuning docs|https://github.com/puppetlabs/puppetserver/blob/master/documentation/tuning_guide.markdown] to reflect what we have learned.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14917", "fixedVersions": [], "id": "14917", "issueType": "Task", "key": "SERVER-2824", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver turning docs for multithreaded mode", "timeSpent": "PT0S", "updated": "2022-03-08T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-06-15T14:59:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7f5aaf4f"}, {"fieldName": "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": "Mutlithreaded Perfomance 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": "green"}, {"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|o02k28:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_53311936102_*|*_6_*:*_1_*:*_0"}], "description": "We have gotten multithreaded mode to a mostly stable state. Now we need to understand its performance and resource usage characteristics better so that we can give meaningful advice to our users on how to tune the system in the new mode. This epic tracks that effort.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16363", "fixedVersions": [], "id": "16363", "issueType": "Epic", "key": "SERVER-2823", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2022-02-22T14:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Mutlithreaded Perfomance Evaluation", "timeSpent": "PT0S", "updated": "2022-02-22T14:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79] it's looking like this might require somewhat-substantial additions to some of our pages, including [https://github.com/puppetlabs/puppetserver/blob/master/documentation/puppet_server_metrics_performance.markdown] and [https://github.com/puppetlabs/puppetserver/blob/master/documentation/tuning_guide.markdown]. Do you recommend the team make the changes and get them reviewed by docs, or is there another workflow we should follow? \n\nThere also need to be some docs added for PE, around turning on the feature via the console, probably here [https://puppet.com/docs/pe/latest/config_puppetserver.html|https://puppet.com/docs/pe/latest/config_puppetserver.html]. How should we proceed with those? /cc [~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953]", "created": "2020-06-15T16:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Filed https://puppet.atlassian.net/browse/SERVER-2824 for the tuning docs, since I don't think we really have enough info to update those now. Attached that to the epic that should give us the info.", "created": "2020-06-16T16:43:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], for open source, that's probably the way to go: make the changes and then get a docs review. Coordinate with [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] on that.\n\n[~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953] can speak better to PE.", "created": "2020-06-16T18:10:00.000000"}, {"author": "557058:c9b48d3b-3b16-4fba-80cb-daf19743b953", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Does this not cover it? \nhttps://puppet.com/docs/pe/latest/config_puppetserver.html#config_multithread_setting_puppetserver", "created": "2020-06-17T11:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Oh, I forgot we'd added that. Yeah I think that's fine, thanks [~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953].", "created": "2020-06-17T11:55:00.000000"}], "components": [], "created": "2020-06-15T14:54: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@13b8fc97"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02k20:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2213286_*|*_10007_*:*_1_*:*_1116005427_*|*_3_*:*_1_*:*_93794565_*|*_5_*:*_1_*:*_0"}], "description": "We currently have a couple release notes about multithreaded, but no actual docs, and some other pages (e.g. the {{puppetserver.conf}} reference) need to be updated to discuss the new mode.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16044", "fixedVersions": [], "id": "16044", "issueType": "Task", "key": "SERVER-2822", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-06-29T15:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document multithreaded mode", "timeSpent": "PT0S", "updated": "2020-06-29T15:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I know we support running the Puppet _agent_ as a non-root (user specified) users/groups.\n\nIt looks like the Puppet agent supports configuring Puppet Server to run as different users (for the switch between puppet and pe-puppet when going from FOSS to Enterprise).\n\nPuppet and Puppet Server support end-user specified user/group workflows where the filesystem is nested in $HOME/.puppetlabs rather than /etc/puppetlabs/.\n\nHowever, I don't think we support running in /etc/puppetlabs as custom users, or running Puppet Server as a custom user from packages (the user and group are hard coded in our packaging which provides them and creates some of the directories in /etc/puppetlabs). I don't imagine that's changing without some investment from product.\n\nAre you to rolling your own FOSS package, or editing artifacts that packages lay down after the fact? (If the latter I would expect issues on upgrade)\n\nAssuming you're using Puppet Server as a custom user with its filesystem rooted in $HOME/.puppetlabs I think you should be able to use the puppetserver ca cli tool, but you'll need to run it as the user that Puppet Server runs as.", "created": "2020-07-09T14:38:00.000000"}, {"author": "557058:224c1010-2144-4081-ae3e-6f6fd7dea286", "body": "Gotcha. Yeah we've been just extracting the official RPM in the past (puppet 5) and running with it. Has more or less worked, until we had to switch over to actually using puppetserver (instead of puppet cert) commands. We're doing things fairly outside the norm, so may switch to not using the packages. Thanks for the update!", "created": "2020-08-10T12:50:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T11:58:00.000000"}], "components": ["Puppet Server"], "created": "2020-06-11T12:34:00.000000", "creator": "557058:224c1010-2144-4081-ae3e-6f6fd7dea286", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27390eb1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o02i80:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4077931024_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_50787455301"}], "description": "*Puppet Version:\u00a06.14.0-1*\n *Puppet Server Version:\u00a06.9.2-1*\n *OS Name/Version: CentOS7*\n\nThe puppetserver codebase contains at least one instance of hardcoding the username and group that puppet operates under. In our case, we do not run puppet as the system puppet user. This ends up breaking when we generate a new install / certificate for CA.\n\n\u00a0\n\nHere is the line of code we've discovered:\n\n[https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/utils/file_system.rb#L64]\n\n*Desired Behavior:*\n\nBe capable of running the puppet user as alternative system users than puppet.\u00a0\n\n*Actual Behavior:*\n\nFails with the following:\n\npuppet-agent-6.14.0-1/lib/ruby/2.5.0/fileutils.rb:1019:in `getpwnam': can't find user for puppet (ArgumentError)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14915", "fixedVersions": [], "id": "14915", "issueType": "Bug", "key": "SERVER-2821", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:224c1010-2144-4081-ae3e-6f6fd7dea286", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Hardcoded puppet user in code", "timeSpent": "PT0S", "updated": "2022-03-08T11:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi people,\nwould be awesome to get official packages for 20.04 :)", "created": "2020-06-15T12:23:00.000000"}, {"author": "557058:686e37be-a453-4e08-a01d-e53960fbdb4d", "body": "+1 for this addition. I had been waiting for 20.04 to transition my home IoT devices to the Puppet Server rather than local puppet on each device to make setup and updates easier.", "created": "2020-06-15T12:33:00.000000"}, {"author": "5d1e907eb591b80c1e31f86e", "body": "Our organisation is hanging on the Server (, PuppetDB, Facter, etc) packages for Focal before rolling out several new clusters and data centre projects. Another +1 for this please.", "created": "2020-06-17T04:00:00.000000"}, {"author": "62438586fd5e4500704327b2", "body": "+1", "created": "2020-06-17T10:27:00.000000"}, {"author": "557058:bd0ee0e6-087c-4c15-ac2f-754e8aeffbed", "body": "Please add support for 20.04 master. We'd like to upgrade our infrastructure to 20.04.", "created": "2020-06-24T00:20:00.000000"}, {"author": "5e83452de57b6c0c1e66c14c", "body": "+1", "created": "2020-07-06T10:56:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "With the release of Puppet Platform 6.18.0, ubuntu 20.04 packages are now available for puppetserver (6.13.0) and puppetdb (6.12.0). They can be found here: http://apt.puppetlabs.com/pool/focal/", "created": "2020-08-25T15:59:00.000000"}], "components": ["Puppet Server"], "created": "2020-06-08T17:06:00.000000", "creator": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37bfc2f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:46"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2664128753_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_337472938_*|*_10005_*:*_3_*:*_3733566337"}], "description": "I'm starting to see 2-3 questions a week about Ubuntu 20.04 packages for Puppet Server. [~accountid:623e754d94742a00683f7cf0] also mentioned that he's seeing a lot.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16599", "fixedVersions": [], "id": "16599", "issueType": "Improvement", "key": "SERVER-2820", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b", "resolution": "Fixed", "resolutionDate": "2020-08-25T15:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ubuntu 20.04 packages for Puppet Server", "timeSpent": "PT0S", "updated": "2021-03-08T08:27:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should look into updating this now that we have full Java 11 support. If we think it's somehow risky, we can do it for Puppet 7, but if it's possible to do in a backwards compatible way, that seems fine.", "created": "2020-06-29T10:11:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "We had a similar request in SERVER-2922. We couldn't require 8 or 11 in rpm but maybe we can in debs? /cc [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]", "created": "2022-01-13T00:06:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab] ^Do you think it's feasible for our debian packages to require either java8 or java11? And is that a good idea if we can't do the same for rpms? ", "created": "2022-01-14T15:31:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0ah yea we can totally do that for debs. TBH I thought that was already the case for debs but looks like I was wrong about that.", "created": "2022-01-20T15:08:00.000000"}], "components": [], "created": "2020-06-08T09:14:00.000000", "creator": "623c168594742a00683e4426", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13d76e32"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91kc"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jun/20"}], "description": "*Puppet Version:* 6.16.0-1bionic\n*Puppet Server Version:* 6.12.0-1bionic\n*OS Name/Version:* Ubuntu 18.04 LTS 64 bit\n\nAccording to the\u00a0[install documentation|https://puppet.com/docs/puppetserver/latest/install_from_packages.html#java-support], Java 11 and Java 8 are supported versions. Yet, the deb package still insist on using Java 8 only:\n\u00a0\n{code:shell}\n# apt-cache show puppetserver | head | grep -E '^(Package|Version|Depends):'\nPackage: puppetserver\nVersion: 6.12.0-1bionic\nDepends: openjdk-8-jre-headless, bash, net-tools, adduser, procps, puppet-agent (>= 5.5.0)\n{code}\n\n*Desired Behavior:*\n\nIdeally, the Depends should have \"openjdk-11-jre-headless| openjdk-8-jre-headless\".", "environment": "Ubuntu 18.04 LTS 64 bit\n\u00a0\n{code:shell}\n# apt-cache policy puppetserver | head\npuppetserver:\n  Installed: 6.12.0-1bionic\n  Candidate: 6.12.0-1bionic\n  Version table:\n *** 6.12.0-1bionic 500\n        500 http://apt.puppetlabs.com bionic/puppet6 amd64 Packages\n        500 http://apt.puppetlabs.com bionic/puppet6 all Packages\n        100 /var/lib/dpkg/status\n     6.11.1-1bionic 500\n        500 http://apt.puppetlabs.com bionic/puppet6 amd64 Packages\n{code}", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16362", "fixedVersions": [], "id": "16362", "issueType": "Bug", "key": "SERVER-2819", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c168594742a00683e4426", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "PuppetServer deb should depend on Java 11 or Java 8", "timeSpent": "PT0S", "updated": "2022-06-02T11:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This behavior is because the agent makes a node request to puppetserver to determine which server-specified environment the node belongs in. The agent later makes a catalog request, and puppetserver will make a second node request to determine which classes, parameters, etc to apply to the node. So this behavior is expected, though maybe not documented clearly?", "created": "2020-06-02T20:15:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "Is there a way to distinguish the two?\n\nIn Foreman our flow is that we also upload facts in the ENC script. These facts can determine which classes and variables are used. Facts are read from $puppetdir/yaml/facts/$certname.yaml.\n\nWe've noticed that during the first request the the facts are not present (and if the env is unknown, this makes sense). Is it safe to only present the environment in the first request (which is a lot cheaper to get) and the full ENC in the second? Perhaps an environment variable or do we need to derive it based on facts present or not?\n\nFor reference, https://github.com/theforeman/puppet-foreman/blob/master/files/external_node_v2.rb is the script in question. As you can see in git, reading facts from the yaml files dates back to 2010. At cfgmgmtcamp I was pointed to the fact indirector, but that has the downside that there can only be a single indirector. That means we need to deal with puppetdb vs non-puppetdb installs.", "created": "2020-06-03T03:57:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I don't know of a fail-safe way to distinguish between the two requests. It just so happens that facts are not submitted with the first node request, but that is a \"bug\" in the agent lifecycle and something we've wanted to change, see PUP-7754.\n\nAnother problem with the first request is that the client must specify the name of a valid environment, which can be hard if this is a brand new node, see https://puppet.atlassian.net/browse/PUP-6802?focusedCommentId=729538&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-729538.\n\nI've been thinking about introducing a new puppetserver API to answer the \"what environment do I belong in\" which could replace the first node request. That API would accept facts, in particular trusted facts which are recommended way to assign nodes to different environments.", "created": "2020-06-05T15:37:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "Would it make sense to keep the ENC script for that role, but extend it? The current API is to pass the certname as the first argument. A second argument could be added: literally environment to get the correct environment. The facts can be passed via stdin. Then another could be enc which returns all the classes and variables. For compatibility scripts should interpret no second argument as the enc action.", "created": "2020-06-07T14:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The trouble is the node REST API could be called for reasons other than an agent, and somehow puppetserver would need to differentiate. We could add a query parameter to the node REST API (to say \"only return the environment\"), and then have puppetserver invoke the {{exec}} node terminus differently... but that feels hacky, and doesn't solve the \"facts aren't sent with the node request\" problem. I think it might be cleaner to add a new REST API to ask for the node's environment. Thoughts [~accountid:623e754d94742a00683f7cf0], [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]?", "created": "2020-06-09T09:58:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "Right, I was only talking about the ENC script implementation, not the REST API.", "created": "2020-06-09T10:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I agree that it sounds cleaner. Though it would need to have a new indirection and terminus plumbed through, right?", "created": "2020-06-09T11:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c100c4a57610068e74585] There are a number of issues with the way node requests work currently.\n\n1. The agent doesn't send facts with the node request, so in PE the classifier terminus retrieves the previous version of facts from puppetdb and includes them in the node request. This increases the load on puppetdb and classifier, and adds complexity, as the facts may be out of date or may not exist (for a newly provisioned node).\n2. The node response includes all of the facts (since all facts are node parameters), even though the agent doesn't need them. That wastes network bandwidth.\n3. If the node request fails/times out, then it can lead to the agent deleting all of its plugins and redownloading new versions. The resulting file_metadata and file_content requests and on-going node and catalog requests from other agents all compete for JRuby instances. This can lead to a positive feedback loop, as more node requests may timeout, etc.\n\nI think a better approach is for the agent to remember the last environment it used, and always start off in that environment. When the agent pluginsyncs and requests a catalog, then the agent can detect if catalog was compiled in a different environment, and retry pluginsync, etc. If it doesn't converge after 3 (or so) attempts, then the agent will fail the run (like it does already).\n\nThese changes are captured in PUP-10216, PUP-9570, PUP-6802\nAs a result, I'm going to close this as won't do.", "created": "2021-06-28T12:00:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "Just to clarify with your better approach: would that end up with just a single call to the ENC script? Because that's the real issue I was hoping to get solved.\n\n\u00a0\n\nOur backend for the ENC is Foreman. Calculating the ENC is non-trivial so doubling the load because of that is the real problem.", "created": "2021-06-29T02:39:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Yep, just a single call to the ENC during compilation.", "created": "2021-06-29T11:50:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "Then it sounds like this isn't \"won't do\" but more of a story that's blocked by the 3 mentioned tasks.", "created": "2021-06-30T02:29:00.000000"}], "components": [], "created": "2020-06-02T07:22:00.000000", "creator": "623c100c4a57610068e74585", "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 the reproducer:\n\n{noformat}\n[root@centos8 ~]# tail -f /tmp/enc &\n[root@centos8 ~]# puppet agent -t --verbose --server $HOSTNAME\nPUPPET ENC SCRIPT Tue Jun 2 13:04:45 UTC 2020 centos8.wisse.example.com\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: Find /puppet/v3/node/centos8.wisse.example.com resulted in 404 with the message: {\"message\":\"Not Found: Could not find node centos8.wisse.example.com\",\"issue_kind\":\"RESOURCE_NOT_FOUND\"}\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nPUPPET ENC SCRIPT Tue Jun 2 13:04:46 UTC 2020 centos8.wisse.example.com\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not find node 'centos8.wisse.example.com'; cannot compile\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n{noformat}\n\nNote how it outputs the ENC script twice. Since our ENC script calls a HTTP API, this increases the server load."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46f52d7d"}, {"fieldName": "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-10539"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o027fc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_12720072894_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_21079015366"}], "description": "When configuring Puppetserver as an ENC script (using node_terminus = exec + external_nodes), that script is called twice for every Puppet run.\n\nhttps://puppet.com/docs/puppet/latest/nodes_external.html#merging-classes-from-multiple-sources states:\n> This behavior isn\u2019t mimicked when calling an ENC, which is invoked only once with the agent\u2019s full node name.\n\nLater on it again states:\n> Unlike regular node definitions, where a node can match a less specific definition if an exactly matching definition isn\u2019t found (depending on Puppet\u2019s strict_hostname_checking setting), an ENC is called only once, with the node\u2019s full name.", "environment": "{noformat}\n[root@centos8 ~]# rpm -qa | grep -i puppet\npuppet-agent-6.15.0-1.el8.x86_64\npuppet6-release-6.0.0-10.el8.noarch\npuppetserver-6.11.1-1.el8.noarch\n{noformat}\n\n{code}\n# Set up Puppetserver with a trivial ENC\nyum -y install https://yum.puppet.com/puppet6-release-el-8.noarch.rpm\nyum -y install puppetserver\n\ncat > /usr/local/bin/enc <<EOF\n#!/bin/sh\necho PUPPET ENC SCRIPT \\$(date) \\$1 >> /tmp/enc-log\nEOF\nchmod +x /usr/local/bin/enc\n\ncat >> /etc/puppetlabs/puppet/puppet.conf <<EOF \nnode_terminus = exec\nexternal_nodes = /usr/local/bin/enc\nEOF\n\nsystemctl start puppetserver\n\n# Not needed since it'll be created automatically but allows us to tail later and be sure the file exists\ntouch /tmp/enc-log\nchown puppet: /tmp/enc-log\n{code}", "epicLinkSummary": "Environment convergence", "estimate": "PT0S", "externalId": "15418", "fixedVersions": [], "id": "15418", "issueType": "Improvement", "key": "SERVER-2818", "labels": ["ondeck1"], "originalEstimate": "PT0S", "parent": "24513", "parentSummary": "Environment convergence", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Won't Do", "resolutionDate": "2021-06-28T12:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "ENC endpoint is called twice per Puppet run", "timeSpent": "PT0S", "updated": "2021-06-30T02:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think {{want}} is necessary because 1) puppetserver needs to handle REST requests for agents that don't yet have a client cert (during the agent's ssl bootstrap process), and 2) puppetserver may have a custom mount for serving files where a client cert isn't required. I assume the default value in {{jetty9_config.clj}} is that way because other trapperkeeper services can require the more strict {{need}} value.", "created": "2020-06-02T20:21:00.000000"}, {"author": "623a4a598d8b9c0068b7e31a", "body": "OK thanks, that makes sense. I guess the documentation was just confusing me then.", "created": "2020-06-02T20:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'm going to close this as the DOC ticket is resolved. Feel free to reopen if I missed something.", "created": "2020-06-03T10:10:00.000000"}], "components": ["Puppet Server"], "created": "2020-06-02T04:52:00.000000", "creator": "623a4a598d8b9c0068b7e31a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46ef2f92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o027dk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_105486871_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Server Version:* 6.11.1\n*OS Name/Version:* Debian GNU/Linux 10 (buster)\n\nThe default value for the webserver's {{client-auth}} setting is {{need}}: https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/master/src/puppetlabs/trapperkeeper/services/webserver/jetty9_config.clj#L75 ([documentation|https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/master/doc/jetty-config.md#client-auth])\n\nBut the default {{/etc/puppetlabs/puppetserver/conf.d/webserver.conf}}, that comes with the Debian package from apt.puppetlabs.com at least, has {{client-auth: want}}. This seems wrong, and less secure than it should be. Typically I would expect explicitly-configured settings in default configuration files to match built-in defaults, meaning you could remove the default config file and nothing would change.\n\nAlso, an example in the documentation has a comment that seems to imply that the default should be {{need}} (or maybe that's what it used to be); see DOCUMENT-1114.\n\nThe default {{webserver.conf}} seems to be here: https://github.com/puppetlabs/puppetserver/blob/master/ezbake/config/conf.d/webserver.conf", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15415", "fixedVersions": [], "id": "15415", "issueType": "Bug", "key": "SERVER-2817", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a598d8b9c0068b7e31a", "resolution": "Incomplete", "resolutionDate": "2020-06-03T10:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "default webserver.conf client-auth value of \"want\" is not the system default, which is \"need\"", "timeSpent": "PT0S", "updated": "2020-06-03T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "[~accountid:557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd] :)", "created": "2020-07-09T14:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not going to do this at least until the vendor EOLs the OS.", "created": "2020-07-10T12:08:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Closing this as there will be other tickets generated with this platform goes EOL", "created": "2020-09-30T00:01:00.000000"}], "components": [], "created": "2020-05-28T15:30:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@15ebe41f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0259k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_91368989_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_939735653_*|*_10006_*:*_1_*:*_3611744754_*|*_10005_*:*_1_*:*_6101411324"}], "description": "Remove ubuntu-16.04-amd64 from [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16361", "fixedVersions": [], "id": "16361", "issueType": "Task", "key": "SERVER-2815", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Won't Fix", "resolutionDate": "2020-09-30T00:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable ubuntu-16.04-amd64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2020-09-30T00:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "[~accountid:557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd]\u00a0and these ones :)", "created": "2020-07-09T14:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not going to do this at least until the vendor EOLs the OS.", "created": "2020-07-10T12:08:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Closing this as there will be other tickets generated with this platform goes EOL", "created": "2020-09-30T00:01:00.000000"}], "components": [], "created": "2020-05-28T15:30:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3de5be6e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0259c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_91384850_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_939681310_*|*_10006_*:*_1_*:*_3611751977_*|*_10005_*:*_1_*:*_6101430687"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for ubuntu-16.04-amd64\n* Remove ubuntu-16.04-amd64 from [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16042", "fixedVersions": [], "id": "16042", "issueType": "Task", "key": "SERVER-2814", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Won't Fix", "resolutionDate": "2020-09-30T00:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable ubuntu-16.04-amd64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2020-09-30T00:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "[~accountid:557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd]\u00a0putting this on your radar for froyo", "created": "2020-07-09T11:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not going to do this at least until the vendor EOLs the OS.", "created": "2020-07-10T12:09:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "Closing this as there will be other tickets generated with this platform goes EOL", "created": "2020-09-30T00:00:00.000000"}], "components": [], "created": "2020-05-28T15:27:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5214f26a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o02514:"}, {"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": "10/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_91605215_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_939598801_*|*_10006_*:*_1_*:*_3611760847_*|*_10005_*:*_1_*:*_6101456070"}], "description": "Remove el-6-x86_64 from [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16938", "fixedVersions": [], "id": "16938", "issueType": "Task", "key": "SERVER-2812", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Won't Fix", "resolutionDate": "2020-09-30T00:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable el-6-x86_64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2020-09-30T00:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "[~accountid:557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd]\u00a0putting this on your radar for froyo", "created": "2020-07-09T11:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not going to do this at least until the vendor EOLs the OS.", "created": "2020-07-10T12:09:00.000000"}], "components": [], "created": "2020-05-28T15:27:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6db8c405"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0250w:"}, {"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": "10/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_91617143_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_939641681_*|*_10006_*:*_1_*:*_3611732061_*|*_10005_*:*_1_*:*_6198370424"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for el-6-x86_64\n* Remove el-6-x86_64 from [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16598", "fixedVersions": [], "id": "16598", "issueType": "Task", "key": "SERVER-2811", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Won't Fix", "resolutionDate": "2020-10-01T02:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable el-6-x86_64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2020-10-01T02:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-05-27T21:19:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ef1b4c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o024eo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_137171498_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_55996520332"}], "description": "After updating i18n from 0.8.0 to 0.9.0 in clj-parent and bumping that in puppetserver and puppetdb projects, we encountered errors in which services won't reload. \n\nTo reproduce:\n# Install PE with i18n 0.9.0 in clj-parent and puppetserver (if it's still up, {{tacit-averaging}} has an instance of this).\n# {{systemctl reload pe-puppetserver}}\nAfter about 2 minutes, the reload fails with an error.\n\nWe reverted the bump in clj-parent for now, but we'd like to get to the bottom of what's causing this issue.\n\nFor puppetserver, this seemed to only occur on redhat 8 and debian 10: https://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1363/\nFor pe-puppetserver-extensions, we encountered failures on all platforms: https://cinext-jenkinsmaster-enterprise-prod-1.delivery.puppetlabs.net/job/enterprise_pe-puppet-server-extensions_integration-system_smoke-master/164/\nPEZ failed for all platforms: https://cinext-jenkinsmaster-enterprise-prod-1.delivery.puppetlabs.net/job/enterprise_pez_integration-system-pezv2_smoke_master/611/\nPEZ failed for pe-puppetdb on a different subset of platforms: https://cinext-jenkinsmaster-enterprise-prod-1.delivery.puppetlabs.net/job/enterprise_pez_integration-system-pezv2_smoke_master/623/", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16937", "fixedVersions": [], "id": "16937", "issueType": "Bug", "key": "SERVER-2810", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Services won't reload using i18n 0.9.0", "timeSpent": "PT0S", "updated": "2022-03-08T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-05-26T10:18: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@2b237555"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbwz"}, {"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_*:*_95271_*|*_1_*:*_1_*:*_10589_*|*_10007_*:*_1_*:*_239282544_*|*_3_*:*_1_*:*_23512924_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_10540887242"}], "description": "Now that we are switching to use Facter 4 for our dev environment facter submodule, we should make it auto-update the way Puppet does, since Facter 4 is under active development. Currently, puppet and puppet-agent are updated based on the last passing SHA of the agent. We can probably extract the Facter SHA from the [same place|https://github.com/puppetlabs/puppetserver/blob/bad100b374d46447c08ebb651d989e6f8baf1be7/Rakefile#L132].\n\nThe Jenkins job definition is [here|https://github.com/puppetlabs/ci-job-configs/blob/master/resources/job-groups/puppetserver.yaml#L24-L32].\n\nNote that we will only be able to use \"last passing\" from the agent branch for {{main}}/7.x. In master/6.x, the last passing Facter SHA will be 3.x, which is C++, and therefore not usable as a submodule. So we need to get the Facter 4 SHA from the agent's {{main}} \"last passing\" SHAs, which probably entails adding an addition env var to the rake task to allow specifying Facter's branch differently from Puppet's.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16360", "fixedVersions": ["SERVER 6.14.0"], "id": "16360", "issueType": "Improvement", "key": "SERVER-2809", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-09-28T11:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Auto-update Facter submodule", "timeSpent": "PT0S", "updated": "2020-10-14T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "They might be referring to the fact that the v1 endpoint is now disabled by default due to a CVE, and the v2 endpoint is restricted to queries from localhost for the same reason.\n\nThis is currently true in both 5.x and 6.x, but for 6.x at least we are working on fixing the v2 endpoint, see https://puppet.atlassian.net/browse/PE-28647.", "created": "2020-06-29T10:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The v1 endpoint is still disabled by default, as well as deprecated, and that should be called out. The v2 endpoint is no longer restricted to {{localhost}}, but you now need a valid certificate to connect to it, for both PuppetDB and Puppet Server.", "created": "2022-01-14T09:32:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:60e4906e4134aa006931a5d6] is this something you can help with?", "created": "2022-01-14T09:46:00.000000"}], "components": [], "created": "2020-05-22T02:01:00.000000", "creator": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7d66bd56"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o020wo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3312825096_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_53318488001"}], "description": "*Puppet Version: 5.5*\n *Puppet Server Version: 5.3*\n *OS Name/Version:*\n\nI had some feedback from a user that said the following docs page doesn't reflect the changes made in the latest Server version. They didn't give any more information than that though.\u00a0\n\n[https://puppet.com/docs/puppetserver/5.3/metrics-api/v1/metrics_api.html]\n\nBut please close if this page looks right to you. Thanks!\n\n*Changes needed:*\n* the {{/metrics/v1}} endpiont is now disabled by default\n* both the v1 and the v2 endpoints now require a certificate to be sent when querying them\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15413", "fixedVersions": [], "id": "15413", "issueType": "Bug", "key": "SERVER-2808", "labels": ["feedback-form-docs-site", "low-hanging-fruit", "server"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document auth changes to metrics endpoints from PE-28647 and PE-28468", "timeSpent": "PT0S", "updated": "2022-03-08T11:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da]\u00a0let me know when you are done with this task, I will close the epic", "created": "2020-06-29T19:13:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thanks for the reminder! Will close when I'm done.", "created": "2020-06-29T21:25:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Was https://github.com/puppetlabs/ci-job-configs/pull/7123 the only thing keeping this ticket open? If so, I just merged it and this can probably be resolved.", "created": "2020-06-30T10:55:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "yep, done.", "created": "2020-06-30T12:26:00.000000"}], "components": [], "created": "2020-05-18T08:57:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a1cc0b2"}, {"fieldName": "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-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkr6i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1257_*|*_10007_*:*_1_*:*_54063042_*|*_3_*:*_2_*:*_437353218_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_3236315008"}], "description": "(Initial planned release date: 2020-05-27)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-05-28T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "16908", "fixedVersions": [], "id": "16908", "issueType": "Task", "key": "SERVER-2807", "labels": [], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-30T12:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.12.0)", "timeSpent": "PT0S", "updated": "2020-06-30T12:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:57:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@764a08b5"}, {"fieldName": "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-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01xmw:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1203_*|*_10007_*:*_1_*:*_1074417_*|*_3_*:*_1_*:*_283016_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_954185313"}], "description": "(Initial planned release date: 2020-05-27)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-05-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "16359", "fixedVersions": [], "id": "16359", "issueType": "Task", "key": "SERVER-2806", "labels": [], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-05-29T10:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.12.0)", "timeSpent": "PT0S", "updated": "2020-05-29T10:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:57:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46f352f4"}, {"fieldName": "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-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01xmo:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1192_*|*_3_*:*_1_*:*_56629059_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_897548481"}], "description": "(Initial planned release date: 2020-05-27)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-05-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "16040", "fixedVersions": [], "id": "16040", "issueType": "Task", "key": "SERVER-2805", "labels": [], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-05-29T10:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.12.0)", "timeSpent": "PT0S", "updated": "2020-05-29T10:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:57:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e37db71"}, {"fieldName": "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-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01xmg:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1406_*|*_10007_*:*_1_*:*_151865825_*|*_3_*:*_1_*:*_26969906_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1216341591"}], "description": "(Initial planned release date: 2020-05-27)\n\n* Write release notes for the release based on the tickets found in the previous step.\n  ** Check any tickets for a docs tab with desired information.\n  ** The release notes go in puppetserver/documentation/release_notes.markdown.\n  ** Request review from the docs team by pinging @clairecadman in the opened PR and give her at least two days prior to ship to review.\n  ** The opened PR should be approved prior to a go/no-go discussion but should not be merged until the release day.\n  ** Docs are built if changes have landed at noon at 5pm Pacific. If notes need to be published out of band ask in `#prod-docs`.\n", "duedate": "2020-05-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "15699", "fixedVersions": [], "id": "15699", "issueType": "Task", "key": "SERVER-2804", "labels": [], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-06-03T12:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prepare documentation (Puppet Server 6.12.0)", "timeSpent": "PT0S", "updated": "2020-06-03T12:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-18T08:57:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32129355"}, {"fieldName": "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-10514"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01xm8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1170_*|*_3_*:*_1_*:*_14667185_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_882878231"}], "description": "(Initial planned release date: 2020-05-27)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-05-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "estimate": "PT0S", "externalId": "15412", "fixedVersions": [], "id": "15412", "issueType": "Task", "key": "SERVER-2803", "labels": [], "originalEstimate": "PT0S", "parent": "20205", "parentSummary": "Puppet Platform 6.16.0 Release - 2020-05-27\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Fixed", "resolutionDate": "2020-05-28T18:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.12.0)", "timeSpent": "PT0S", "updated": "2020-05-28T18:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c0aba7910a200718b90a4", "created": "2020-05-15T01:07:00.000000", "name": "image-2020-05-15-09-07-39-973.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10819"}, {"attacher": "623c0aba7910a200718b90a4", "created": "2020-05-15T01:07:00.000000", "name": "puppet_server_tls.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10888"}], "comments": [{"author": "623c0aba7910a200718b90a4", "body": "Hi there,\n\nis there a possiblity to get a short feedback on this?", "created": "2020-05-22T06:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There's a section for the http-client in the puppetserver config, see https://puppet.com/docs/puppetserver/latest/config_file_puppetserver.html#examples.", "created": "2020-07-20T14:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing this, since there does exist a way to configure these. Please reopen if you're still having issues.", "created": "2020-07-28T17:22:00.000000"}], "components": ["Puppet Server"], "created": "2020-05-15T01:12:00.000000", "creator": "623c0aba7910a200718b90a4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@143b3a02"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o01wo8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6451812157_*|*_6_*:*_1_*:*_0"}], "description": "Hi,\n\nafter upgrade to 6.11.1 I noticed that my reports where missing from foreman. I looked into the logfile of puppetserver and found the following error:\n\n\u00a0\n{code:java}\n2020-05-15T09:02:10.142+02:00 ERROR [qtp1319108692-7694] [puppetserver] Puppet Report processor failed: Could not send report to Foreman at https://foreman.example.com/api/config_reports: Received fatal alert: handshake_failure\n[\"org/jruby/ext/openssl/SSLSocket.java:276:in `connect_nonblock'\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/protocol.rb:44:in `ssl_socket_connect'\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:985:in `connect'\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:924:in `do_start'\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:913:in `start'\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:1465:in `request'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb:69:in `process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:37:in `block in process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:54:in `block in processors'\", \"org/jruby/RubyArray.java:1800:in `each'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:51:in `processors'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:30:in `process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:14:in `save'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:316:in `save'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:199:in `do_save'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:54:in `block in call'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:53:in `call'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'\", \"org/jruby/RubyArray.java:1800:in `each'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:87:in `block in process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:70:in `block in with_request_profiling'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:66:in `with_request_profiling'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:93:in `respond_to_errors'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `process'\", \"uri:classloader:/puppetserver-lib/puppet/server/master.rb:64:in `block in handleRequest'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\", \"uri:classloader:/puppetserver-lib/puppet/server/master.rb:63:in `handleRequest'\"]\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb:75:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:37:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:54:in `block in processors'\norg/jruby/RubyArray.java:1800:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:51:in `processors'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:30:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:14:in `save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:316:in `save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:199:in `do_save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:54:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:53:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'\norg/jruby/RubyArray.java:1800:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:87:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:70:in `block in with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:66:in `with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:93:in `respond_to_errors'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `process'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:64:in `block in handleRequest'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\n{code}\nThe handshake_failure part hinted me that it might be a ssl problem. I captured the SSL traffic with tcpdump and found out that the puppet server connects to the foreman host with a SSL client that only supports CBC Ciphers:\n\n!image-2020-05-15-09-07-39-973.png!\n\nAs my Foreman webserver has CBC ciphers disabled to prevent POODLE attacks the connection is aborted.\n\nThe foreman Report script from [https://github.com/theforeman/puppet-foreman/blob/master/files/foreman-report_v2.rb] does not specify any ciphers.\n\nCan you tell me how to configure the ciphers used by the client request of puppetserver?\n\n\u00a0\n\nKind regards\n\nClemens\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16597", "fixedVersions": [], "id": "16597", "issueType": "Bug", "key": "SERVER-2802", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0aba7910a200718b90a4", "resolution": "Fixed", "resolutionDate": "2020-07-28T17:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver's HTTP Client only uses CBC Ciphers", "timeSpent": "PT0S", "updated": "2020-07-28T17:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is causing a few test failures, and we will likely need some changes in jvm-ssl-utils.", "created": "2020-05-19T15:41:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "bouncycastle 1.63 introduced changes to ASN1 parsing that cause two test failures. These have been resolved by https://github.com/puppetlabs/jvm-ssl-utils/pull/95 .\n\nbouncycastle 1.64 was a security follow-on to 1.63. It introduced an error case that was not there previously, which we are hitting. We have not yet determined whether the erroneous behavior was always happening and now we're just aware of it or whether 1.64 itself introduced a bug that is causing our test to error (latest is 1.65 and the error still occurs there).\n\nThe error in question involves the old, ruby version of our certs. According to https://github.com/puppetlabs/jvm-ssl-utils/commit/5847eeacb90d9f7177cc600025696b5b0423e80c, these certs may never have been technically correct, but we are required to support them for at least the next ~2 years (can you remind me where that math comes from [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]).\n\nThis may prevent us from taking up new bouncycastle versions.", "created": "2020-05-21T18:07:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Today I looked into building custom bouncycastle jars from source, so that we can add debug info in the hopes of determining whether this is our issue or a bouncycastle issue.\n\nThe first thing I tried was cloning https://github.com/bcgit/bc-java, checking out {{r1rv65}}, installing gradle, and running {{gradle build}} from the root of the repo. This gave me an error:\n{code:java}\nFAILURE: Build failed with an exception.\n\n* Where:\nBuild file '/Users/molly.waggett/stuff/bc-java/build.gradle' line: 26\n\n* What went wrong:\nA problem occurred evaluating root project 'bc-java'.\n> Failed to apply plugin [id 'net.saliman.cobertura']\n   > Could not create task ':generateCoberturaReport'.\n      > Could not create task of type 'GenerateReportTask'.\n         > No signature of method: static org.gradle.util.DeprecationLogger.whileDisabled() is applicable for argument types: (net.saliman.gradle.plugin.cobertura.GenerateReportTask$1) values: [net.saliman.gradle.plugin.cobertura.GenerateReportTask$1@de80c29]\n{code}\nThis is apparently a known issue: https://github.com/stevesaliman/gradle-cobertura-plugin/issues/168\n\nThen I tried using a 5.x version of gradle. I stopped getting the above^ error, but got a bunch of test failures that block the build. I tried editing the {{build.gradle}} file to skip the tests and/or not care if they failed, but it either didn't work or I did it wrong.. Because I'm honestly not even sure that {{gradle build}} is the right way to get a jar, I gave up on this approach.\n\nNext I looked up how to edit the existing jar directly. I found [jar commands|https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jar.html] that seem handy, but when inspecting the jar ({{$ jar tf .m2/repository/org/bouncycastle/bcpkix-jdk15on/1.65/bcpkix-jdk15on-1.65.jar}}), I didn't see the files we wanted to edit. Comparing to the bc-java repo, it looks like only the stuff under the [{{pkix}}|https://github.com/bcgit/bc-java/tree/master/pkix] directory is included in that jar^, whereas we traced the error to here: https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/asn1/DefiniteLengthInputStream.java#L133\n\nI am extra confused now, so this is where I'm stopping for the day.", "created": "2020-05-26T18:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "We're now hoping to get this in for the first LTS.z.\n\n[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Would you mind adding a note about what you did to get a build, so we remember when we come back to this?", "created": "2020-05-29T13:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I dunno if it's useful, because it still didn't produce a jar that looks like the one we pull in, but I commented out {{mail}}, {{tls}}, {{pg}}, and {{test}} in {{settings.gradle}}, then built with {{gradle build -x test}} to skip running the tests as part of the build, since they were still failing for me. That spit out a jar at {{build/libs/bc-java.jar}} that I have yet to figure out how to pull into our clojure projects, so I don't know if it works.", "created": "2020-05-29T14:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Crisis averted: catching the new exception thrown [here|https://github.com/bcgit/bc-java/commit/b1bc75254f5fea633a49a751a1a7339056f97856#diff-a64f8b21931a10d173f182cd8e2b1564R105] seems to solve the last issue, which is us hitting https://puppet.atlassian.net/browse/PUP-4467 in a new way.", "created": "2020-08-03T12:52:00.000000"}], "components": [], "created": "2020-05-14T12:16: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@4883ae83"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkb8e9"}, {"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": "19/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_85850348_*|*_1_*:*_1_*:*_11970975_*|*_10007_*:*_1_*:*_73405488_*|*_3_*:*_4_*:*_2006608073_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_4_*:*_4989009103"}], "description": "Currently, we pull in [BC 1.60|https://github.com/puppetlabs/bouncy-castle-vanagon/blob/master/configs/components/bcpkix-jdk15on.rb] for non-FIPS in our clojure projects. This is several versions behind the latest, and we should try to upgrade, so we're ready to upgrade if a security event happens.\n\nThey're also adding TLS 1.3 support in more recent versions, and we want to support this sometime soon.\n\nBouncycastle release notes: https://www.bouncycastle.org/releasenotes.html\nBouncycastle package repo: https://repo1.maven.org/maven2/org/bouncycastle/\n\n----\nFor the first step of this upgrade, we tried bumping the version in [jvm-ssl-utils|https://github.com/puppetlabs/jvm-ssl-utils]. In version 1.63, we hit a bug in the tests where BC renamed a bunch of types, we fixed that [here|https://github.com/puppetlabs/jvm-ssl-utils/pull/95]. But in 1.64 they fixed a CVE (introduced in 1.63) that is now breaking support for legacy Puppet certs. We need to determine if these are actually invalid now, or if the new changes to the parsing code introduced a bug that is causing our certs to look bad.\n\n1.63 vs. 1.64 diff: https://github.com/bcgit/bc-java/compare/r1rv63...r1rv64\n\nIf newer BC does not support our legacy certs, this upgrade is going to involve a major effort to deprecate those certs, and upgrading won't be possible till we've dealt with that. But if it's a bug, we probably need to work with BC to get it fixed upstream. In either case, we can't just upgrade currently.\n\nOnce we get it working in jvm-ssl-utils, the next step would be to make sure it works with the CA code in puppetserver. Once we see that clear up, we can do the upgrade itself.\n\nPlaces that need to be changed for the upgrade:\n* [clj-parent|https://github.com/puppetlabs/clj-parent/blob/master/project.clj#L136-L139] for FOSS\n* [bouncy-castle-vanagon|https://github.com/puppetlabs/bouncy-castle-vanagon] for PE\n\n----\nOther bumps as part of this work:\n* bctls-fips bumped to 1.0.10 smoothly\n* other fips libraries are rumored to be getting new updates in a week or so (from July 25), so will check back in on those", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15695", "fixedVersions": ["SERVER 6.13.0"], "id": "15695", "issueType": "Task", "key": "SERVER-2801", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2020-08-05T11:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Review and potentially bump BouncyCastle", "timeSpent": "PT0S", "updated": "2020-08-05T11:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-14T12:14: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@78df08b1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01wcg:"}, {"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_*:*_259143330_*|*_1_*:*_1_*:*_12099145_*|*_10007_*:*_1_*:*_10666914_*|*_3_*:*_1_*:*_40426557_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_287238610"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15411", "fixedVersions": ["SERVER 6.12.0"], "id": "15411", "issueType": "Sub-task", "key": "SERVER-2800", "labels": [], "originalEstimate": "PT0S", "parent": "16596", "parentSummary": "Dependency bumps for Puppet Server 6.12", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2020-05-21T13:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump Jetty in tk-jetty9 to latest of the upstream 9.4.x branch", "timeSpent": "PT0S", "updated": "2020-05-21T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-05-14T11:19: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@3b558b3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkb2"}, {"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_*:*_61383_*|*_3_*:*_2_*:*_758066036_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_458137994_*|*_10005_*:*_1_*:*_15315913"}], "description": "This ticket tracks the various dependency bumps we need to make for the next server release, in preparation for the PE LTS release.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16596", "fixedVersions": ["SERVER 6.12.0"], "id": "16596", "issueType": "Task", "key": "SERVER-2799", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-05-28T17:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Dependency bumps for Puppet Server 6.12", "timeSpent": "PT0S", "updated": "2020-05-28T17:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "attachments": [], "comments": [{"author": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "body": "Resolved through re-init of SSL.", "created": "2020-05-10T19:13:00.000000"}], "components": ["Puppet Server"], "created": "2020-05-10T17:48:00.000000", "creator": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35ac7dd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o01s60:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5175569_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:6.5*\n *Puppet Server Version: 6.11.1*\n *OS Name/Version: CentOS 8.1*\n\nCreating a new puppet server.\n\nFirst step was to do \"puppetserver ca setup\".\n\nThen I did \"systemctl start puppetserver\". This failed. Results from log file:\n\n-- Unit puppetserver.service has begun starting up.\nMay 11 09:40:19 puppet6 puppetserver[27355]: Execution error (ClassCastException) at com.puppetlabs.ssl_utils.SSLUtils/pemToCerts (SSLUtils.java:512).\nMay 11 09:40:19 puppet6 puppetserver[27355]: org.bouncycastle.asn1.x509.SubjectPublicKeyInfo cannot be cast to org.bouncycastle.cert.X509CertificateHolder\nMay 11 09:40:19 puppet6 puppetserver[27355]: Full report at:\nMay 11 09:40:19 puppet6 puppetserver[27355]: /tmp/clojure-240356140966546384.edn\nMay 11 09:40:20 puppet6 puppetserver[27355]: Background process 27362 exited before start had completed\nMay 11 09:40:20 puppet6 systemd[1]: puppetserver.service: Control process exited, code=exited status=1\nMay 11 09:40:20 puppet6 systemd[1]: puppetserver.service: Failed with result 'exit-code'.\nMay 11 09:40:20 puppet6 systemd[1]: Failed to start puppetserver Service.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15410", "fixedVersions": [], "id": "15410", "issueType": "Bug", "key": "SERVER-2798", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "High (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:1058a011-1194-4f15-ac2c-2aff0e71c6ae", "resolution": "Fixed", "resolutionDate": "2020-05-10T19:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver execution error in bouncycastle", "timeSpent": "PT0S", "updated": "2020-05-10T19:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T11:59:00.000000"}, {"author": "623e7689562ab90069f9ec45", "body": "PR attempted:\u00a0 https://github.com/puppetlabs/puppetserver-ca-cli/pull/98", "created": "2022-03-09T23:00:00.000000"}], "components": ["Puppet Server"], "created": "2020-05-10T10:36:00.000000", "creator": "623e7689562ab90069f9ec45", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@64604d85"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:"}, {"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 `puppetserver ca list` command will now exit 1 when run on a non-CA server."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_449254949_*|*_1_*:*_1_*:*_6148455044_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_254656035_*|*_10005_*:*_1_*:*_51488892701"}], "description": "Use case: I'm working on some scripting to run a puppetserver ca command.\u00a0 I want to put in a safeguard to prevent someone from running a CA command on a compile master.\u00a0 The notion I had was to detect the ca-master by looking at the CA.\n\n\u00a0\n\nA CA master runs {{puppetserver ca list --all}} just like you would expect.\u00a0 On the compile masters, though:\n\n\u00a0\n{code:java}\n# puppetserver ca list --all\nError:\n code: 403\n body: Forbidden request: /puppet-ca/v1/certificate_statuses/any_key (method :get). Please see the server logs for details.\nNo certificates to list\n\n# echo $?\n0\n{code}\n\u00a0\n\nSince everything about that query was a failure, I would expect an error code to be returned.\u00a0 Instead the error is all in the text.\u00a0 While obvious to a human that this failed, with it having exited 0 we're into grepping text to find that the command failed.", "environment": "OSP puppetserver 6.7.1 with a CA master and 3 compile masters behind a loadbalancer.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "14912", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "14912", "issueType": "Story", "key": "SERVER-2797", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e7689562ab90069f9ec45", "resolution": "Fixed", "resolutionDate": "2022-03-16T16:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve exit code for errors in 'puppetserver ca list'", "timeSpent": "PT0S", "updated": "2022-03-16T16:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think this is fixed by https://github.com/puppetlabs/puppetserver/pull/2338", "created": "2020-05-11T16:08:00.000000"}, {"author": "5c083dd9ed26a5223c94f646", "body": "Yes - will test and let ya know.", "created": "2020-05-12T04:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Please reopen if you found that this was not actually fixed.", "created": "2020-07-20T14:32:00.000000"}], "components": ["Puppet Server"], "created": "2020-05-10T10:04:00.000000", "creator": "5c083dd9ed26a5223c94f646", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71668920"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o01s5c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6150487964_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Server Version:* *6.11.1***\n *OS Name/Version: puppet/puppetserver:**6.11.1*\n{code:java}\nRunning /docker-entrypoint.d/80-ca.sh\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/openssl/x509.rb:20:in `create_ext': subjectAltName = DNS:, DNS:puppet, DNS:agents-to-puppet, DNS:puppet-compilers, DNS:puppetserver-helm-chart-puppetserver-compilers-0, DNS:puppetserver-helm-chart-puppetserver-compilers-1, DNS:puppetserver-helm-chart-puppetserver-compilers-2: invalid extension string (OpenSSL::X509::ExtensionError)\n from /opt/puppetlabs/puppet/lib/ruby/2.5.0/openssl/x509.rb:20:in `create_extension'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/local_certificate_authority.rb:190:in `add_subject_alt_names_extension'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/local_certificate_authority.rb:170:in `sign_authorized_cert'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/local_certificate_authority.rb:148:in `create_master_cert'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/action/setup.rb:79:in `generate_pki'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/action/setup.rb:67:in `run'\n from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.7.0/lib/puppetserver/ca/cli.rb:94:in `run'\n from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'{code}\n\u00a0", "environment": "Tested using [the Helm chart|https://github.com/puppetlabs/puppetserver-helm-chart].", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17525", "fixedVersions": ["SERVER 6.10.0"], "id": "17525", "issueType": "Bug", "key": "SERVER-2796", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c083dd9ed26a5223c94f646", "resolution": "Fixed", "resolutionDate": "2020-07-20T14:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "TLS Certs Auto-Creation Fails", "timeSpent": "PT0S", "updated": "2020-07-20T14:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The REST API for this is implemented in puppetserver, so I'm moving this to the SERVER project", "created": "2020-05-07T10:18:00.000000"}, {"author": "70121:463745ad-7c98-46c2-b4bb-24cfa92dbd55", "body": "Hi\n\nAny solution to this problem?", "created": "2020-05-11T09:28:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this might be caused by a typo that I actually just came across today, where there's a misplaced parenthesis in this code https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L343-L346, that puts the delete outside of the {{certificate_request}} endpoint.\n\nI will fix this as part of the work I am doing in that area of the code.", "created": "2020-07-20T14:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We've fixed this in master, but I'll look at cherry-picking the fix to 5.x too.", "created": "2020-07-21T17:55:00.000000"}], "components": [], "created": "2020-05-06T13:15:00.000000", "creator": "70121:463745ad-7c98-46c2-b4bb-24cfa92dbd55", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27f23833"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Ubuntu 16.04 (amd64)"}, {"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|o01qrk:"}, {"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": "Re-enabled the ability to delete certificate signing requests via the CA API."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_104116217_*|*_1_*:*_1_*:*_6485028123_*|*_10007_*:*_1_*:*_78123049_*|*_3_*:*_1_*:*_76451700_*|*_5_*:*_1_*:*_0"}], "description": "*I can get the CSR information through the API from client*\n\ncurl -X GET\u00a0\\\n\n\u00a0 --tlsv1 \\\n\n\u00a0 -H \"Accept: application/json\" \\\n\n\u00a0 --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \\\n\n\u00a0 https://$PUPMASTER:8140/puppet-ca/v1/certificate_request/$CERTNAME\n\n\u00a0\n\n*Response:*\n\n-----BEGIN CERTIFICATE REQUEST-----\n\nMIIEbDCCAlQCAQAwJzElMCMGA1UEAwwcMDgwMDI3MDkwNWNlLmtpb3NrLnRwYi5s\n\nb2NhbDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOBphK7YTkSjn01X\n\nVYPdsszYDWCqzo97+DbCNY1/UTvPNMJ066IMjZj5So3GBqCkL1OR97pMxQc0XfJQ\n\n0RfUh6fyct6w2ngl8tqul/dlKhPbF1Sol9/voMrGpSWJJEGpuCu5qW+JO6XQrHET\n\nVkFAbmejef/9jHIPE82ZYRIWLM+jBnpV+8wnU0BN+myIN4ZnR2D+xU3KjU2T7k/h\n\n4IsHKh3j6lgmn5U/CTuaLU5AwxXItkDdJWNLNY9qfjAdEiQHcd6KMyprTd8ZZEoX\n\nDBNKm7AB1QL0+CLthUcoxpJyAiPId3+IUdMgqPVyET7/hxYUNhL42COQ0E/m0zJC\n\n\u00a0\n\n*But i can't delete this CSR*\u00a0\n\ncurl -X DELETE \\\n\n\u00a0 --tlsv1 \\\n\n\u00a0 -H \"Accept: application/json\" \\\n\n\u00a0 --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \\\n\n\u00a0 https://$PUPMASTER:8140/puppet-ca/v1/certificate_request/$CERTNAME\n\n*Response:*\n\n*NOT FOUND.*\n\nCan you help me with this?\n\n\u00a0\n\n*Puppet Version: 5.5*\n *Puppet Server Version: 5.5*\n *OS Name/Version: Ubuntu*\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16595", "fixedVersions": ["SERVER 5.3.15", "SERVER 6.13.0"], "id": "16595", "issueType": "Bug", "key": "SERVER-2795", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:463745ad-7c98-46c2-b4bb-24cfa92dbd55", "resolution": "Fixed", "resolutionDate": "2020-07-23T14:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": " Error deleting CSR request through HTTP API", "timeSpent": "PT0S", "updated": "2020-07-23T14:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [{"attacher": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "created": "2020-05-24T23:28:00.000000", "name": "lambdas_puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10969"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Context: we started seeing this error after upgrading from JRuby 9.2.8.0 to 9.2.11.1. It hasn't shown up against since downgrading back to 9.2.8, though the server has crashed a couple times in a seemingly unrelated fashion (oomkill due to an abundance of JGit threads), that we now believe was caused by pe-backups and failed file-sync status requests. See https://puppet.atlassian.net/browse/PE-29081.\n\nThings I was looking into when I put this down:\n\n1) The heap dump was one-third full with what looks like a giant YieldSite object, which I've never seen before. It has a ton of repeating nests of objects in it. JRuby made some pretty hefty updates to the way they handle blocks in 9.2.10. Possibly related? [https://github.com/jruby/jruby/pull/6005]\n\n2) Brandon High saw something similar when upgrading the JRuby used for VMPooler, see [https://github.com/jruby/jruby/issues/6124.] He thought at the time that it was related to this [https://github.com/jruby/jruby/pull/6014].", "created": "2020-05-13T10:53:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Since nothing in the stack traces leading to the StackOverflow errors looks particularly suspicious, we're going to experiment with increasing the JVM stack size to 2MB (up from 1MB), which is the value recommended by JRuby at this point.", "created": "2020-05-15T14:31:00.000000"}, {"author": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "body": "After adding the options -XX:+UnlockDiagnosticVMOptions and -XX:+ShowHiddenFrames I'm getting the stacktrace attached (environment _classes stack attached but the catalog one looks identical)\u00a0\n\n[^lambdas_puppetserver.log]", "created": "2020-05-24T23:28:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "This seems to be fixed for 6.12 by turning off jruby's invokedynamic.yield setting.\n\n\u00a0\n\nReported upstream at https://github.com/jruby/jruby/issues/6260", "created": "2020-06-05T13:12:00.000000"}], "components": [], "created": "2020-05-05T18:24: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@2ec66d71"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwl99:zkb"}, {"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": "It was possible to get a StackOverflowError after running puppet server for a while. This was introduced with the upgrade to JRuby 9.2.11.1 in server 6.11 and has been fixed by turning off a new optimization that came with that version of JRuby."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2314941377_*|*_1_*:*_1_*:*_27119_*|*_3_*:*_2_*:*_258366760_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_597186355"}], "description": "Twice since the update to JRuby 9.2.11.1, our internal Puppet deploy has hit an unrecoverable state where catalog compiles and {{environment_classes}} requests repeatedly throw StackOverflow errors. This was hit once after running two days, then again after running another week.\n\n\u00a0\n\n*Catalog Compiles:*\n{code:java}\n2020-05-01T00:00:22.514-07:00 WARN  [qtp547561796-115247] [o.e.j.s.HttpChannel] /puppet/v3/catalog/pe-compiler-infranext-prod-2.infc-aws.puppet.net\njava.lang.StackOverflowError: null\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.lexer2.RUBY$method$scan$0(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/lexer2.rb:711)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:95)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)\n  at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:365)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)\n  at com.headius.racc.Cparse$Parser.call_lexer(Cparse.java:744)\n  at com.headius.racc.Cparse$Parser.racc_yyparse(Cparse.java:727)\n  at com.headius.racc.Cparse$Parser$INVOKER$i$1$0$racc_yyparse.call(Cparse$Parser$INVOKER$i$1$0$racc_yyparse.gen)\n  at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)\n  at org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:514)\n  at org.jruby.RubyBasicObject.send(RubyBasicObject.java:1748)\n  at org.jruby.RubyBasicObject$INVOKER$i$send.call(RubyBasicObject$INVOKER$i$send.gen)\n  at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:174)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:74)\n  at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.racc.parser.invokeOther1:__send__(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/racc/parser.rb:325)\n  at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.racc.parser.RUBY$method$yyparse$0(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/racc/parser.rb:325)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:121)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:175)\n  at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.parser_support.invokeOther2:yyparse(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/parser_support.rb:246)\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.parser_support.RUBY$method$_parse$0(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/parser_support.rb:246)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:95)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)\n  at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:141)\n... {code}\n*environment_classes:*\n{code:java}\njava.lang.StackOverflowError: null\n  at java.base/java.security.AccessController.doPrivileged(Native Method)\n  at java.base/jdk.internal.logger.DefaultLoggerFinder.isSystem(DefaultLoggerFinder.java:142)\n  at java.logging/java.util.logging.Logger.demandLogger(Logger.java:650)\n  at java.logging/java.util.logging.Logger.getLogger(Logger.java:717)\n  at java.logging/java.util.logging.Logger.getLogger(Logger.java:701)\n  at com.headius.invokebinder.Binder.<init>(Binder.java:71)\n  at com.headius.invokebinder.Binder.from(Binder.java:162)\n  at org.jruby.ir.targets.YieldSite.yield(YieldSite.java:98)\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.lexer2.RUBY$method$scan$0(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/lexer2.rb:711)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:95)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)\n  at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:365)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)\n  at com.headius.racc.Cparse$Parser.call_lexer(Cparse.java:744)\n  at com.headius.racc.Cparse$Parser.racc_yyparse(Cparse.java:727)\n  at com.headius.racc.Cparse$Parser$INVOKER$i$1$0$racc_yyparse.call(Cparse$Parser$INVOKER$i$1$0$racc_yyparse.gen)\n  at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)\n  at org.jruby.RubyClass.finvokeWithRefinements(RubyClass.java:514)\n  at org.jruby.RubyBasicObject.send(RubyBasicObject.java:1748)\n  at org.jruby.RubyBasicObject$INVOKER$i$send.call(RubyBasicObject$INVOKER$i$send.gen)\n  at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:174)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:74)\n  at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.racc.parser.invokeOther1:__send__(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/racc/parser.rb:325)\n  at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.racc.parser.RUBY$method$yyparse$0(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/racc/parser.rb:325)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:121)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:175)\n  at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)\n  at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.parser_support.invokeOther2:yyparse(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/parser_support.rb:246)\n  at opt.puppetlabs.puppet.lib.ruby.vendor_ruby.puppet.pops.parser.parser_support.RUBY$method$_parse$0(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/parser_support.rb:246)\n  at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:95)\n  at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)\n... {code}\nWe suspect that this is related to the JRuby bump, though Java was also updated around the same time.\n\nCurrent course of action is to roll back JRuby to 9.2.8.0, but we should continue to investigate the root cause here. JRuby recently did some work around block handling, and the spot in the lexer that seems to be common to both of these is a {{yield}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15692", "fixedVersions": ["SERVER 6.12.0"], "id": "15692", "issueType": "Bug", "key": "SERVER-2793", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-06-11T11:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "StackOverflow errors after Puppet Server runs for a while", "timeSpent": "PT0S", "updated": "2020-08-26T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2020-05-05T00:00:00.000000", "creator": "623a4a598d8b9c0068b7e31a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1843fb3a"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91i6"}], "description": "*Puppet Server Version:* 6.11.0\n*OS Name/Version:* Debian GNU/Linux 10\n\n*Desired Behavior:*\n{{/opt/puppetlabs/bin/puppetserver gem install --no-user-install --verbose r10k}} should install the gem on an IPv6-only system.\n\n*Actual Behavior:*\n{quote}ERROR:  Could not find a valid gem 'r10k' (>= 0), here is why:\n          Unable to download data from https://rubygems.org/ - Errno::ENETUNREACH: Network is unreachable - Failed to open TCP connection to rubygems.org:443 (Network is unreachable - Network is unreachable) (https://rubygems.org/specs.4.8.gz)\n{quote}\n\nThis appears to be a problem with Puppetserver's Java, because installing gems using the regular system {{gem}} works fine from this IPv6-only machine. This is on a completely default, fresh Debian and puppetserver installation. The machine has no legacy IP address (other than 127.0.0.1). Doing the same thing on a VM that does have legacy IP access, {{puppetserver gem install}} works fine.", "environment": "IPv6-only", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15409", "fixedVersions": [], "id": "15409", "issueType": "Bug", "key": "SERVER-2792", "labels": ["IPv6"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a598d8b9c0068b7e31a", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver gem doesn't work with IPv6", "timeSpent": "PT0S", "updated": "2024-02-26T15:18:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-04-29T18:07: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@50a3f146"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090009"}, {"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": "Puppet Server will no longer complete requests for legacy (3.x) Puppet endpoints."}, {"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_*:*_57027719_*|*_1_*:*_1_*:*_7072606856_*|*_10007_*:*_1_*:*_2985500_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6740251479_*|*_10005_*:*_1_*:*_1820658201"}], "description": "Puppet 3 has been EOL'ed for years. The legacy routes were added to support migration from 3 to newer versions due to the REST request path changing from {{/:environment/:indirection/:name}} to {{/puppet/v3/:indirection/:name?environment=:environment}}. We should make the backing code \"dead\"by removing the service from the bootstrap config. \n\nThis entails\n* updating the fixture [file|https://github.com/puppetlabs/puppetserver/blob/main/ezbake/system-config/services.d/bootstrap.cfg#L10] we ship with FOSS\n* Fixing any tests that fail as a result of these changes\n\nFor propagating this to PE, see PE-30415.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "16038", "fixedVersions": ["SERVER 7.0.0"], "id": "16038", "issueType": "Task", "key": "SERVER-2791", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Done", "resolutionDate": "2020-10-28T09:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Delete legacy routes to handle puppet agents < 4", "timeSpent": "PT0S", "updated": "2022-07-28T13:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:55: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@7b346a99"}, {"fieldName": "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-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01ka8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1307_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2039214376"}], "description": "(Initial planned release date: 2020-04-30)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-05-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "15408", "fixedVersions": [], "id": "15408", "issueType": "Task", "key": "SERVER-2790", "labels": [], "originalEstimate": "PT0S", "parent": "26561", "parentSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-05-18T09:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 5.3.13)", "timeSpent": "PT0S", "updated": "2020-05-18T09:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:55: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@43b8b96d"}, {"fieldName": "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-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k9s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1342_*|*_10007_*:*_1_*:*_3842930_*|*_3_*:*_1_*:*_29500_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_330859675"}], "description": "(Initial planned release date: 2020-04-30)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-04-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "14910", "fixedVersions": [], "id": "14910", "issueType": "Task", "key": "SERVER-2789", "labels": [], "originalEstimate": "PT0S", "parent": "26561", "parentSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T15:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 5.3.13)", "timeSpent": "PT0S", "updated": "2020-04-28T15:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "http://builds.delivery.puppetlabs.net/puppetserver/5.3.13", "created": "2020-04-28T14:44:00.000000"}], "components": [], "created": "2020-04-24T18:55: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@6341a669"}, {"fieldName": "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-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k9k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1187_*|*_3_*:*_1_*:*_6189009_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_324380686"}], "description": "(Initial planned release date: 2020-04-30)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-04-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "17524", "fixedVersions": [], "id": "17524", "issueType": "Task", "key": "SERVER-2788", "labels": [], "originalEstimate": "PT0S", "parent": "26561", "parentSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T14:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.13)", "timeSpent": "PT0S", "updated": "2020-04-28T14:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Everything looked good here, the only meaningful change was a bump to the CA CLI gem.", "created": "2020-04-28T13:00:00.000000"}], "components": [], "created": "2020-04-24T18:55: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@779e6159"}, {"fieldName": "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-10457"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k9c:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1410_*|*_3_*:*_1_*:*_800990_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_323528758"}], "description": "(Initial planned release date: 2020-04-30)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-04-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "17221", "fixedVersions": [], "id": "17221", "issueType": "Task", "key": "SERVER-2787", "labels": [], "originalEstimate": "PT0S", "parent": "26561", "parentSummary": "Puppet Platform 5.5.20 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T13:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.13)", "timeSpent": "PT0S", "updated": "2020-04-28T13:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:53: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@73a9d737"}, {"fieldName": "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-10447"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k2w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1206_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2039357480"}], "description": "(Initial planned release date: 2020-04-30)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-05-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "17523", "fixedVersions": [], "id": "17523", "issueType": "Task", "key": "SERVER-2786", "labels": [], "originalEstimate": "PT0S", "parent": "23375", "parentSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-05-18T09:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.11.0)", "timeSpent": "PT0S", "updated": "2020-05-18T09:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-04-24T18:52: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@252437cd"}, {"fieldName": "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-10447"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k2g:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1149_*|*_10007_*:*_1_*:*_3841396_*|*_3_*:*_1_*:*_15450_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_331020418"}], "description": "(Initial planned release date: 2020-04-30)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-04-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "16903", "fixedVersions": [], "id": "16903", "issueType": "Task", "key": "SERVER-2785", "labels": [], "originalEstimate": "PT0S", "parent": "23375", "parentSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T15:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.11.0)", "timeSpent": "PT0S", "updated": "2020-04-28T15:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "http://builds.delivery.puppetlabs.net/puppetserver/6.11.0", "created": "2020-04-28T15:54:00.000000"}], "components": [], "created": "2020-04-24T18:52: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@2fcb5393"}, {"fieldName": "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-10447"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k28:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1274_*|*_3_*:*_1_*:*_4130225_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_330740975"}], "description": "(Initial planned release date: 2020-04-30)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-04-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "16594", "fixedVersions": [], "id": "16594", "issueType": "Task", "key": "SERVER-2784", "labels": [], "originalEstimate": "PT0S", "parent": "23375", "parentSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T15:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.11.0)", "timeSpent": "PT0S", "updated": "2020-04-28T15:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not many tickets tagged with the fix version, but everything looks right.", "created": "2020-04-28T14:44:00.000000"}], "components": [], "created": "2020-04-24T18:52: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@2e0ed4a7"}, {"fieldName": "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-10447"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o01k20:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1310_*|*_3_*:*_2_*:*_6380041_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_324297847"}], "description": "(Initial planned release date: 2020-04-30)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-04-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "estimate": "PT0S", "externalId": "16358", "fixedVersions": [], "id": "16358", "issueType": "Task", "key": "SERVER-2783", "labels": [], "originalEstimate": "PT0S", "parent": "23375", "parentSummary": "Puppet Platform 6.15.0 Release - 2020-04-30\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-28T14:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.11.0)", "timeSpent": "PT0S", "updated": "2020-04-28T14:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5ade3a9f91bc312e6a4a30f3", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Is the plan to deprecate or drop support?", "created": "2020-10-19T10:50:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Just deprecate. Java 8 is supported upstream longer than Java 11 at this point.", "created": "2020-10-19T12:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We didn't do this for 7 since a deprecation can go out any time and we still don't have a plan to _remove_ support for Java 8.", "created": "2020-11-12T12:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is important, we should definitely do this.", "created": "2022-01-14T12:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Adding this to the Puppet Server 8 epic so we can decide if removing support for Java 8 in Platform 8 is what we want to do.", "created": "2022-12-09T12:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:63d40628f6e1b543161789a7] has mentioned this in the upcoming Puppet 8 announcement here: [https://groups.google.com/g/puppet-dev/c/0ObKV0cpLDY] and links to an amazingly brief email deprecating Java 8 support earlier.", "created": "2023-01-13T11:27:00.000000"}], "components": [], "created": "2020-04-22T08:53: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@2a1014f4"}, {"fieldName": "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": "SERVER-3165"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0lii"}, {"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": "Puppet server will no longer support running on JDK 8. "}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26011_*|*_10007_*:*_1_*:*_154566557_*|*_3_*:*_1_*:*_341068830_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_87210792976"}], "description": "We currently support Java 8 and 11 in Puppet Server 6; Java 8, 11, & 17 in latest releases of Puppet Server 7.x; and should support Java 11 & 17 in Puppet Server 8.0.\n\nIn the meantime we should deprecate java 8 in platform 7 so users know we can drop it if/when it becomes too costly in CI or due to maintenance.\n\nIn 7.x we should do:\n * documenting the deprecation\n * emitting a warning in the puppetserver logs on startup\n\nIn 8.0 we should update all of our packages (in EZBake) to depend on the Java virtual packages where available or the latest LTS packages available elsewhere (eg default-jre-headless,\u00a0 java-17-openjdk-headless).\n\n\u00a0\n\n\u00a0", "epicLinkSummary": "Puppet Server 8", "estimate": "PT0S", "externalId": "15687", "fixedVersions": ["SERVER 7.4.5", "SERVER 8.0.0"], "id": "15687", "issueType": "Story", "key": "SERVER-2782", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16890", "parentSummary": "Puppet Server 8", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Fixed", "resolutionDate": "2023-02-01T10:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Deprecate Java 8 for puppetserver in Platform 7", "timeSpent": "PT0S", "updated": "2023-02-03T15:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is this still an issue? If so, here are some thoughts:\n\nWe have [logic|https://github.com/puppetlabs/puppetserver/blob/6.7.0/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L237-L241] that prevents requiring those files when {{enable-infra-crl}} is false. Do you know if you ever had it enabled? (It started being enabled by default in PE in 2019.0.3, but this is a FOSS installation, right?) Might be worth checking for a {{certificate-authority}} section in the main {{puppetserver.conf}} and seeing if anything looks awry there", "created": "2020-07-24T11:03:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "Hi,\n\nIt is still an issue. We had the crl enabled a year or so ago with this in the /etc/puppetlabs/puppetserver/conf.d/puppetserver.conf\n{code:java}\ncertificate-authority: {\n    enable-infra-crl: true\n}\n{code}\nThis is the content of our /etc/puppetlabs/puppetserver/conf.d/ca.conf\n{code:java}\ncertificate-authority: {\n    # allow CA to sign certificate requests that have subject alternative names.\n    allow-subject-alt-names: true\n\n    # allow CA to sign certificate requests that have authorization extensions.\n    allow-authorization-extensions: true\n\n    # enable the separate CRL for Puppet infrastructure nodes\n    # enable-infra-crl: false\n}\n{code}\nWhat I tried so far is to:\n # Set the\u00a0*enable-infra-crl* to *false* in the *puppetserver.conf*\n # Comment out the entire\u00a0*certificate-authority* section in the *puppetserver.conf* (which has just the enable-infra-crl config var in it)\n # Uncomment the\u00a0*enable-infra-crl: false* in the *ca.conf*\n\nAfter each of these changes I was doing a restart of the puppetserver daemon and testing with *touch\u00a0/etc/puppetlabs/puppet/ssl/ca/inventory.txt* which resulted in the warning messages in the puppetserver.log\n\nI removed the symlink and just created an empty /etc/puppetlabs/puppet/ssl/ca/infra_inventory.txt which seems to have resolved the issue with the warning messages for now. The server however still requires this file and\u00a0\n\nHowever I am not sure if some mechanism would want to insert entries in this file, which would start the issue again.\n\nThe *cert_inventory* variable is pointing to\u00a0*/etc/puppetlabs/puppet/ssl/ca/inventory.txt*, so I hope the\u00a0infra_inventory.txt should not be populated any more.", "created": "2020-07-29T02:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We don't have any mechanisms for inserting entries into the {{infra_inventory.txt}} in FOSS (in PE it is populated automatically). So having the blank file should be safe.\n\nI tried reproducing the issue you describe on Puppet Server 6.7.1, settings things to false and deleting the {{infra_inventory.txt}} file, but I have been unable to make it break. I was hoping we would have some debug logging to print out CA settings, but it looks like that only triggers on first initialization. Because the only thing I can think is that it's still being enabled somehow, though I don't know where that would be.\n\nLet me know if you'd like more help digging into this further, or if the disappearance of the warnings is sufficient.", "created": "2020-07-29T10:55:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "Hi,\n\nThe workaround to create an empty\u00a0infra_crl.pem and\u00a0infra_inventory.txt does not seem to work. I tried adding a new client and when I triggered puppet for the first time it complained with this:\n\n\u00a0\n{code:java}\nroot@client # /opt/puppetlabs/bin/puppet agent -tv --use_srv_records --srv_domain my.example.com --environment master\nError: Failed to parse CRLs as PEM\nError: Could not run: Failed to parse CRLs as PEM\n{code}\nWhen I ran the above program with --debug it was failing right after:\n\n\u00a0\n\n\u00a0\n{code:java}\nDebug: HTTP GET https://my.example.com:8140/puppet-ca/v1/certificate_revocation_list/ca returned 200 OK\n{code}\nRunning a curl against that URL was returning 200 but the content was empty.\n\n\u00a0\n\nI populated the\u00a0infra_crl.pem file with the contents of the ca_crl.pem file and the issue was resolved, so it seems this file is still in use, at least when I initially register a new puppet client. I have afterwards decided to create a symlink as before from\u00a0ca_crl.pem to\u00a0infra_crl.pem in case a client updates the CRL and uses the same URL to retrieve it.\n\nAs for the files still referencing the infra_inventory.txt I found these:\n{code:java}\nroot@puppet-1 # grep infra_inventory.txt /opt/puppetlabs/ -Rl\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.6.0/lib/puppetserver/ca/action/enable.rb\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.6.0/lib/puppetserver/ca/action/setup.rb\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.6.0/lib/puppetserver/ca/action/import.rb\n{code}\nShould I eventually delete some gem and if yes, how exactly, as I do not wish to break our puppet?", "created": "2020-07-31T04:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "No, those things in the gems only matter when you use those CLI commands, and they set you up with defaults like the ones you have in place now: an empty infra_inventory file and a infra_crl that's a copy of your regular CRL chain. Your symlink is better only if you expect to actually be referencing that file (e.g. returning it from the endpoint), which shouldn't happen if the mode is disabled.\n\nSo then the fact that the endpoint is returning the contents of the {{infra_crl}} tells me your puppetserver still thinks the setting is enabled. As you can see in the handler for the endpoint, we choose which path to return based on the value of the {{enable-infra-crl}} setting: https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L87.\n\nCan you grep your {{conf.d}} directory and see if maybe there's somewhere else where {{enable-infra-crl}} still {{true}}? Can you also confirm your current puppetserver version? Is it still 6.7.1?", "created": "2020-07-31T09:52:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "We have upgraded our puppetserver to 6.10.0-1bionic nearly a month ago.\n\nPer my reply to the ticket on 29 July we do have the\u00a0enable-infra-crl enabled via puppetserver.conf. Setting it to false, removing the files \"infra_crl.pem and\u00a0infra_inventory.txt\" and restarting causes no issues. Question is however when it is enabled, why not use\u00a0*ca_crl.pem* instead of\u00a0*infra_crl.pem* and\u00a0*inventory.txt* instead of\u00a0*infra_inventory.txt*, since these files are already present for a CA enabled server?", "created": "2020-08-05T05:31:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There are some good docs [here|https://puppet.com/docs/puppetserver/latest/infrastructure_crl.html] on what the setting does and why you might want to use it. \n\nThe motivation for the feature is that, if your CRL is very large (e.g. because you have a lot of ephemeral infrastructure in your feel and spin up and spin down a lot of nodes), it can cause problems when the agents try to download it. \n\nSo you can turn on the infrastructure CRL, which creates a separate file that contains only the revocation status of your Puppet infrastructure nodes (so like your master and any compilers), as listed in {{infra_inventory.txt}}. The agents will get this shorter file when they query the CRL endpoint, rather than the big huge one with all of the other agent nodes.\n\nIf you don't have a problem with large CRLs, you probably want to disable the setting, at which point you should be able to get rid of the extra files entirely. If you _do_ have this problem, you should put the cert names of your Puppet Infrastructure nodes in {{infra_inventory.txt}}, so the agents can download the streamlined CRL. Note that the contents of this file have to be updated manually if you change your set of compilers.\n\nHope this makes things clearer!", "created": "2020-08-05T09:17:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "Thanks for the clarification Maggie. I guess with our infrastructure of less than 1000 nodes it would not make much sense to have the crl enabled. I wentahead and disabled it, which stopped both issues the one with the warning messages (as we will delete the infra_inventory.txt and infra_crl.pem) and the one with the requirement of the two files.", "created": "2020-08-06T07:26:00.000000"}], "components": ["Certificate Authority"], "created": "2020-04-20T10:27:00.000000", "creator": "623a4a36a95758006959ff56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9a195a7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o01g4g:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jul/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_8578507047_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_50787125718"}], "description": "*Puppet Version: 6.10.1*\n *Puppet Server Version:\u00a06.7.1*\n *OS Name/Version: Ubuntu Bionic*\n\nI noticed that this started after our upgrade from puppet 5.5 to puppet 6.7 in November last year. On out Puppet CA the file inventory.txt contains also the certificates which are already revoked. I also noticed that the file infra_inventory.txt and infra_crl.pem were last updated the day before we upgraded out puppet in November, thus I backed them up and removed them. After restart however the server failed to start with the following message:\n\n*Missing:*\n*/etc/puppetlabs/puppet/ssl/ca/infra_crl.pem*\n*/etc/puppetlabs/puppet/ssl/ca/infra_inventory.txt*\n\nthus I symlinked them to the respective ca_crl.pem and inventory.txt\n\nAs these files are not in use maybe the scripts requiring them should check for the proper filename and look for it instead.\n\n*Desired Behavior:*\n # Not being required to keep the infra_crl.pem and infra_inventory.txt if they are not in use.\n # Do not receive WARN messages on inventory.txt mtime update.\n\n*Actual Behavior:*\n\nThe following are the permissions of the related directories and files that we have:\n\ndrwxr-xr-x 8 puppet puppet 8 Nov 28 2018 /etc/puppetlabs\ndrwxr-xr-x 4 puppet puppet 8 Apr 1 11:00 /etc/puppetlabs/puppet\ndrwxrwx--x 8 puppet puppet 9 Apr 20 06:47 /etc/puppetlabs/puppet/ssl\ndrwxr-xr-x 5 puppet puppet 13 Apr 20 17:08 /etc/puppetlabs/puppet/ssl/ca\n-rw-r--r-- 1 puppet puppet 23K Apr 20 18:01 /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\n-rw-r--r-- 1 puppet puppet 1.9K Jun 13 2018 /etc/puppetlabs/puppet/ssl/ca/ca_crt.pem\n-rw-r----- 1 puppet puppet 3.2K Jun 13 2018 /etc/puppetlabs/puppet/ssl/ca/ca_key.pem\nlrwxrwxrwx 1 puppet puppet 10 Apr 20 17:08 infra_crl.pem -> ca_crl.pem\nlrwxrwxrwx 1 puppet puppet 13 Apr 20 17:07 infra_inventory.txt -> inventory.txt\n-rw-rw-rw- 1 puppet puppet 0 Apr 20 18:00 /etc/puppetlabs/puppet/ssl/ca/infra_serials\n-rw-r--r-- 1 puppet puppet 102K Apr 20 18:00 /etc/puppetlabs/puppet/ssl/ca/inventory.txt\ndrwxr-x--- 2 puppet puppet 3 Jun 13 2018 /etc/puppetlabs/puppet/ssl/ca/private\ndrwxr-xr-x 2 puppet puppet 2 Apr 20 17:51 /etc/puppetlabs/puppet/ssl/ca/requests\n-rw-r--r-- 1 puppet puppet 4 Apr 20 18:00 /etc/puppetlabs/puppet/ssl/ca/serial\ndrwxr-xr-x 2 puppet puppet 642 Apr 20 17:51 /etc/puppetlabs/puppet/ssl/ca/signed\n\n/etc/puppetlabs is recursively chown-ed to puppet:puppet\n\nEvery time the files:\n\n/etc/puppetlabs/puppet/ssl/ca/infra_inventory.txt\n/etc/puppetlabs/puppet/ssl/ca/inventory.txt\n\nare updated (even via chown, chmod, touch) we get these error messages in our puppetserver.log:\n\n*2020-04-20T18:00:06.172+02:00 WARN [clojure-agent-send-off-pool-0] [p.p.certificate-authority] Failed to find/load certificate for Puppet Infrastructure Node:0x0479 2020-04-16T11:42:07UTC 2025-04-16T11:42:07UTC /CN=FQDN.example.com*\n\nThe error messages are always the exact number of entries we have in the inventory.txt file.\n\n\u00a0The above error messages also appear when the puppetserver is started/restarted\n\nThis is our\u00a0/etc/puppetlabs/puppetserver/conf.d/ca.conf\n{code:java}\ncertificate-authority: {\n    # allow CA to sign certificate requests that have subject alternative names.\n    allow-subject-alt-names: true    # allow CA to sign certificate requests that have authorization extensions.\n    allow-authorization-extensions: true    # enable the separate CRL for Puppet infrastructure nodes\n    # enable-infra-crl: false\n}\n{code}\n... and\u00a0/etc/puppetlabs/puppetserver/services.d/ca.cfg\n{code:java}\npuppetlabs.services.ca.certificate-authority-service/certificate-authority-service\npuppetlabs.trapperkeeper.services.watcher.filesystem-watch-service/filesystem-watch-service{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14908", "fixedVersions": [], "id": "14908", "issueType": "Bug", "key": "SERVER-2781", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a36a95758006959ff56", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "WARN messages in logs when modifying inventory.txt or infra_inventory.txt files.", "timeSpent": "PT0S", "updated": "2022-03-08T11:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:63d40628f6e1b543161789a7] so the\u00a0[response|https://github.com/puppetlabs/clj-http-client/blob/master/src/java/com/puppetlabs/http/client/Response.java] object that our Java client returns doesn't appear to have all the same capabilities or fields as {{Puppet::HTTP::Response}}. For example, it's missing the message that goes along with the code, so far as I can tell, and doesn't automatically support streaming the body. How do you think these gaps should be handled? Is it worth creating a lookup table for the message? Does it even make sense to try to implement streaming in the Ruby wrapper? Seems like the damage would already be done if we have the body in full in the response already... but I could be misremembering the benefits of the streaming API.", "created": "2020-09-18T10:28:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The response message/reason is not super important, but can be included in error messages either when a  [Puppet::HTTP::ResponseError|https://github.com/puppetlabs/puppet/blob/main/lib/puppet/http/errors.rb#L16] is created or by the caller, e.g. [puppetdb terminus|https://github.com/puppetlabs/puppetdb/pull/3329/files#diff-b43043c3acd01a66d0886dd6f3b01d71R90]. A look up table seems fine, though I imagine the underlying Java client could provide that info, IIUC that'd require a minor change to clj-http-client to plumb that through?\n\nThe streaming response body is more important for the agent as it may download a multi-GB file from something other than puppetserver, e.g. {{source => 'https://...'}}. I imagine catalogs and reports can get fairly large (tens/hundreds MB), so it'd be good to support streaming at some point, along with other connection pool improvements. But for now, since we've always read the entire response body in memory, you could fake out the method by defining a {{read_body}} method that just yields {{response.body}} or raises if a block is not provided.\n", "created": "2020-09-18T11:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "In order for acceptance tests to pass, [https://github.com/puppetlabs/puppetdb/pull/3329] needs to go in first, so PDB starts pulling the client out of the context and stops using Puppet's HttpPool, which calls the constructor of the client incorrectly for the new API.", "created": "2020-09-25T10:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've linked the classifier update work now, I think that will become important once we put this in a PE context.", "created": "2020-09-25T12:44:00.000000"}], "components": [], "created": "2020-04-17T18: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@24f05000"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbwr"}, {"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": "Puppet Server now provides an HTTP client whose API conforms to the HTTP client provided by Puppet. This new client is stored in the Puppet runtime as `Puppet.runtime[:http]`."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_95354553_*|*_1_*:*_1_*:*_2239353564_*|*_10007_*:*_2_*:*_1192361696_*|*_3_*:*_2_*:*_1224542218_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_512101369_*|*_10006_*:*_1_*:*_10880752419"}], "description": "Currently Puppet Server implements a [wrapper|https://github.com/puppetlabs/puppetserver/blob/319fac1df276f862c7b4aa57f8f36380020e31f3/src/ruby/puppetserver-lib/puppet/server/http_client.rb] around the Apache AsyncHttp library (with help from the puppetlabs/clj-http-client library).\n\nCoremmunity has reworked the http client in Puppet and the contract that extensions should implement (like there is one now).\n\nWe should create a new HttpClient in Puppet Server that implements the [new interface|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/http/client.rb] and if the new interface is available we should configure Puppet with it.\n\nHere are some notes from previous discussions:\n\n{quote}\n\nI was thinking puppetserver could register its client (similar to the existing `Puppet::Server::HttpClient`) but with the following differences:\n* A Puppet::Server::HttpClient object is created for a given server/port/use_ssl, and later the request path/query parameters/headers are passed to the get/post method. With the new API, the get/post methods receive the full URL.\n* The existing\u00a0Puppet::Server::HttpClient maps HTTP response codes back to Net::HTTP, but that's no longer necessary. Puppetserver can create a Puppet::HTTP::Response object directly with the status code, message, etc. and return that (or a subclass of it)\n* The client can raise `Puppet::HTTP::HTTPError` or more specific subclasses if it wants instead of deriving from SocketError\n\u00a0\nExample implementation registration:\u00a0[https://gist.github.com/joshcooper/98344933dbd8c44d63acd9183e1481b3]\n\n{quote}\n\u00a0\nWhoever picks this up should reach out to Josh Cooper for further details.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "17522", "fixedVersions": ["SERVER 7.0.0"], "id": "17522", "issueType": "Task", "key": "SERVER-2780", "labels": ["ondeck1", "platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2020-10-21T14:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide a server impl of the new Puppet http client", "timeSpent": "PT0S", "updated": "2020-10-21T14:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Josh is looking to do the removal of the backing code for this, so we should do this sooner rather than later.", "created": "2020-08-18T10:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "After this was merged, [this test|https://github.com/puppetlabs/puppetserver/blob/6.x/acceptance/suites/tests/authorization/x509_auth.rb#L129] started failing. However, it continues to fail after reverted the commit, and also fails for me locally on 6.x, even though it appears to be passing in Jenkins. Might need a sanity check...", "created": "2020-09-03T17:49:00.000000"}], "components": [], "created": "2020-04-14T09:32: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@537726ca"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbrc"}, {"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": "Removes the setting to opt into using Puppet's legacy authorization files. Users are now required to use puppetserver's `auth.conf`, provided by trapperkeeper-authorization."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_685068681_*|*_1_*:*_1_*:*_9792475790_*|*_10007_*:*_1_*:*_68421547_*|*_3_*:*_1_*:*_17489276_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2226848255"}], "description": "The legacy auth.conf file that Puppet used to use has been [heavily deprecated|https://puppet.com/docs/puppetserver/latest/deprecated_features.html#use-of-core-puppet-authconf-for-authorizing-master-service-routes] for several major releases, and doesn't have all the necessary features to correctly authenticate certs with authorization extensions, which are now widely in use in PE (e.g. CA cert, compiler certs). Puppet Server's trapperkeeper-authorization HOCON file has been a much more powerful replacement for a long time.\n\nThis ticket is to track removing the [setting|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/master/master_service.clj#L109-L111], but not all of its backing code. That gives us the freedom to remove the code at our leisure, once the mode is no longer available to users.", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "16900", "fixedVersions": ["SERVER 7.0.0"], "id": "16900", "issueType": "Task", "key": "SERVER-2778", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-09-09T10:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove legacy auth setting", "timeSpent": "PT0S", "updated": "2020-09-09T10:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Specifically, something like a {{java_pkcs7}} encryptor would have to be implemented that called through to BouncyCastle instead of using the Ruby OpenSSL library:\n\nhttps://github.com/voxpupuli/hiera-eyaml/blob/master/lib/hiera/backend/eyaml/encryptors/pkcs7.rb", "created": "2020-04-09T12:49:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "As far as the BouncyCastle side of things I was imagining extending and making available\u00a0[https://github.com/puppetlabs/jvm-ssl-utils/blob/master/src/java/com/puppetlabs/ssl_utils/SSLUtils.java]\u00a0.", "created": "2020-04-09T13:38:00.000000"}, {"author": "557058:c9b48d3b-3b16-4fba-80cb-daf19743b953", "body": "Please remember to file a ticket to update docs when this is fixed. Thanks!", "created": "2020-05-15T10:53:00.000000"}], "components": [], "created": "2020-04-09T11:58: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@5f13bab8"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91jc"}, {"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": "39829,45830,48447"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Apr/20"}], "description": "Loading Ruby's OpenSSL implementation fails in FIPS environments because JRuby's OpenSSL implementation isn't FIPS compatible. However we use BouncyCastle in a FIPS compatible way to load keys/certs in our our CA. We should expose those methods in Ruby & work with the heira-eyaml maintainers to use those so their important community projects can be used in a FIPS installation.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15407", "fixedVersions": [], "id": "15407", "issueType": "Improvement", "key": "SERVER-2777", "labels": ["fips", "jira_escalated"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Work with hiera-eyaml maintainers to not use Ruby's OpenSSL for key decryption", "timeSpent": "PT0S", "updated": "2022-05-24T14:16:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Couple of notes for retro / maybe winston updates.\n * Should not create tickets for releases less than one week away.\n * We don't include anything wrt docs in our release process. We need tasks if not a whole step re docs, especially as I think we'll be taking more of this on.", "created": "2020-04-14T14:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "fwiw, we didn't have to re-enable promotions because we always had a release branch for the PE release that this FOSS release was targeting.", "created": "2020-04-24T17:26:00.000000"}], "components": [], "created": "2020-04-08T10:14: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@7d9fbd4a"}, {"fieldName": "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": "SERVER-2772"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o018tc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1233_*|*_10007_*:*_1_*:*_242638586_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1407394111"}], "description": "(Initial planned release date: 2020-04-14)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-04-15T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.10.0 2020-04-14 Release", "estimate": "PT0S", "externalId": "17510", "fixedVersions": [], "id": "17510", "issueType": "Task", "key": "SERVER-2776", "labels": [], "originalEstimate": "PT0S", "parent": "15443", "parentSummary": "Puppet Server 6.10.0 2020-04-14 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Done", "resolutionDate": "2020-04-27T12:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.10.0)", "timeSpent": "PT0S", "updated": "2020-04-27T12:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This release will go out in a PE release, but the release branch for that PE release was cut prior to the tag being built. It was manually promoted into PE and promotions were never disabled.\n\nsee\n\n[https://github.com/puppetlabs/enterprise-dist/commit/fd34ce714f18b8cad37e3f6c298a3c96330edf24]\n\nand\n\n[http://pebuildinfo.slice.puppetlabs.net/package/pe-puppetserver/version/2019.4.0.34]\n\n\u00a0\n\nIn reviewing promotions it does look like we missed re-enabling those after the last LTS release for the 5.3.x branch. I will re-enable those.", "created": "2020-04-14T14:53:00.000000"}], "components": [], "created": "2020-04-08T10:14: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@3a9c1c8e"}, {"fieldName": "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": "SERVER-2772"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o018sw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1302_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_535212675"}], "description": "(Initial planned release date: 2020-04-14)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-04-10T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.10.0 2020-04-14 Release", "estimate": "PT0S", "externalId": "16896", "fixedVersions": [], "id": "16896", "issueType": "Task", "key": "SERVER-2775", "labels": [], "originalEstimate": "PT0S", "parent": "15443", "parentSummary": "Puppet Server 6.10.0 2020-04-14 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2020-04-14T14:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.10.0)", "timeSpent": "PT0S", "updated": "2020-04-14T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Repo was tagged and packages built on April 7th:\u00a0[http://builds.delivery.puppetlabs.net/puppetserver/6.10.0/]", "created": "2020-04-14T14:42:00.000000"}], "components": [], "created": "2020-04-08T10:14: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@5a0c6563"}, {"fieldName": "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": "SERVER-2772"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o018sg:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1299_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_534537917"}], "description": "(Initial planned release date: 2020-04-14)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-04-10T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.10.0 2020-04-14 Release", "estimate": "PT0S", "externalId": "16357", "fixedVersions": [], "id": "16357", "issueType": "Task", "key": "SERVER-2774", "labels": [], "originalEstimate": "PT0S", "parent": "15443", "parentSummary": "Puppet Server 6.10.0 2020-04-14 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2020-04-14T14:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.10.0)", "timeSpent": "PT0S", "updated": "2020-04-14T14:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Everything in the 5.3.x branch is in the 6.10.0 tag (note: this work is happening after the tag because of a process snafu)\n\nTicketmatch brought up several commits that referenced tickets w/o fixVersions relating to Server. I'll list the ones here that won't be fix and why:\n * FACT-2390 - This was a Facter 2 release that was needed when testing threadsafe Puppet. It is now possible to run threadsafe Puppet Server w/ Facter 2 in test environments.\n * PE-28468 - CVE-2020-7943 was fixed under the auspices of the PE project. There some some commits in this release related to that.\n * SERVER-2660 - This has the correct version but cannot be seen I assume because of visibility restrictions on the ticket.\n * SERVER-2677 - CI transient, helped but not resolved in this timeframe.\n * SERVER-2763 - This is a known issue with the upcoming release from the JRuby update. Some commits landed to workaround our own issues.", "created": "2020-04-14T14:41:00.000000"}], "components": [], "created": "2020-04-08T10:14: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@dbf938"}, {"fieldName": "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": "SERVER-2772"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o018s8:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1400_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_534423012"}], "description": "(Initial planned release date: 2020-04-14)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-04-09T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.10.0 2020-04-14 Release", "estimate": "PT0S", "externalId": "16037", "fixedVersions": [], "id": "16037", "issueType": "Task", "key": "SERVER-2773", "labels": [], "originalEstimate": "PT0S", "parent": "15443", "parentSummary": "Puppet Server 6.10.0 2020-04-14 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2020-04-14T14:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.10.0)", "timeSpent": "PT0S", "updated": "2020-04-14T14:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-04-08T10:14: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@67462f9c"}, {"fieldName": "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": "Puppet Server 6.10.0 2020-04-14 Release"}, {"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": "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|o018rs:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_60409606533_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Server 6.10.0 2020-04-14 Release\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15443", "fixedVersions": [], "id": "15443", "issueType": "Epic", "key": "SERVER-2772", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2022-03-08T13:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server 6.10.0 2020-04-14 Release", "timeSpent": "PT0S", "updated": "2022-03-08T13:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There is not really enough information in here to figure out what might have gone wrong. The timeout error you mention is probably just due to load. If by \"15 concurrency\" you mean that you have 15 JRuby instances, that seems like a lot more than you would need for just 2000 nodes. You may want to take a look at the [tuning guide|https://puppet.com/docs/pe/2019.8/config_puppetserver.html].\n\nI'm going to close this. If this is still an issue for you, or if you have more information to help diagnose, please reopen.", "created": "2020-10-27T12:52:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-30T02:34:00.000000", "creator": "623e750fbef8a60068c8da79", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30640cb8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00p4w:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18267502317_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.14.0*\n *Puppet Server Version: 6.9.1*\n *OS Name/Version: Ubuntu 16.04*\n\nPuppetserver crashed in the middle of a run of 2000 nodes run with a concurrency of 15 and has been restarted by systemd\n\nCould not be reproduced until now.\n\n*Desired Behavior:*\n\nPuppetserver should not crash.\n\n\u00a0\n\n*Actual Behavior:*\n\nWhile trying to reproduce issue SERVER-2766 we noticed an unexpected crash of the Puppetserver service.\n\nExamples:\n\nThis has been shown in the logs at the time of the crash\n{noformat}\n2020-03-26T16:20:03.378+01:00 ERROR [clojure-agent-send-off-pool-473] [p.t.s.s.status-core] Status callback for puppet-profiler timed out, shutting down background task 2020-03-26T16:20:03.449+01:00 ERROR [clojure-agent-send-off-pool-473] [p.t.s.s.status-core] #error { :cause nil :via [{:type java.util.concurrent.CancellationException :message nil :at [java.util.concurrent.FutureTask report FutureTask.java 121]}] :trace [[java.util.concurrent.FutureTask report FutureTask.java 121] [java.util.concurrent.FutureTask get FutureTask.java 191] [clojure.core$deref_future invokeStatic core.clj 2300] [clojure.core$future_call$reify__8454 deref core.clj 6974] [clojure.core$deref invokeStatic core.clj 2320] [clojure.core$deref invoke core.clj 2306] [puppetlabs.trapperkeeper.services.status.status_core$fn__24285$guarded_status_fn_call__24290$fn__24291$fn__24301 invoke status_core.clj 323] [puppetlabs.trapperkeeper.services.status.status_core$fn__24285$guarded_status_fn_call__24290$fn__24291 invoke status_core.clj 323] [puppetlabs.trapperkeeper.services.status.status_core$fn__24285$guarded_status_fn_call__24290 invoke status_core.clj 305] [puppetlabs.trapperkeeper.services.status.status_core$fn__24387$call_status_fn_for_service__24396$fn__24399 invoke status_core.clj 385] [puppetlabs.trapperkeeper.services.status.status_core$fn__24387$call_status_fn_for_service__24396 invoke status_core.clj 367] [puppetlabs.trapperkeeper.services.status.status_core$fn__24387$call_status_fn_for_service__24396$fn__24397 invoke status_core.clj 378] [puppetlabs.trapperkeeper.services.status.status_core$fn__24387$call_status_fn_for_service__24396 invoke status_core.clj 367] [puppetlabs.trapperkeeper.services.status.status_core$fn__24425$call_status_fns__24430$fn__24431$fn__24433 invoke status_core.clj 405] [clojure.core$pmap$fn__8462$fn__8463 invoke core.clj 7022] [clojure.core$binding_conveyor_fn$fn__5754 invoke core.clj 2030] [clojure.lang.AFn call AFn.java 18] [java.util.concurrent.FutureTask run FutureTask.java 264] [java.util.concurrent.ThreadPoolExecutor runWorker ThreadPoolExecutor.java 1128] [java.util.concurrent.ThreadPoolExecutor$Worker run ThreadPoolExecutor.java 628] [java.lang.Thread run Thread.java 834]]}\n{noformat}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16593", "fixedVersions": [], "id": "16593", "issueType": "Bug", "key": "SERVER-2770", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e750fbef8a60068c8da79", "resolution": "Cannot Reproduce", "resolutionDate": "2020-10-27T12:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver crashes unexpectedly", "timeSpent": "PT0S", "updated": "2020-10-27T12:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "6243b0334fe01d006ba5c498", "created": "2020-03-28T01:53:00.000000", "name": "clojure-14664521080227414194.edn", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11128"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We haven't seen this anywhere else. Is this still an issue for you or did you solve it?", "created": "2020-10-27T12:54:00.000000"}, {"author": "623c0eb3562ab90069f8b0fe", "body": "*****Facing the same issue while starting the server****\n\n\u00a0systemd[1]: Starting puppetserver Service...\nAn illegal reflective access operation has occurred\n\u00a0 puppetserver[88017]: WARNING: Illegal reflective access by dynapath.defaults$fn__15798$fn__15799 ([file:/opt/puppetlabs/server/apps/puppetserver/puppet-se|file:///opt/puppetlabs/server/apps/puppetserver/puppet-se]>\n puppetserver[88017]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__15798$fn__15799\n puppetserver[88017]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\n puppetserver[88017]: WARNING: All illegal access operations will be denied in a future release\n\u00a0 puppetserver[88017]: 2021-05-05 12:47:54,769 INFO [o.e.j.u.log] Logging initialized @4484ms to org.eclipse.jetty.util.log.Slf4jLog\n puppetserver[88017]: 2021-05-05 12:47:54,872 INFO [p.t.s.w.jetty9-core] Removing buggy security provider SunPKCS11 version 11\n\n\u00a0\n\n\u00a0", "created": "2021-05-04T21:01:00.000000"}, {"author": "623c0eb3562ab90069f8b0fe", "body": "Upon checking the status\n\n\u00a0puppetserver[97125]: at clojure.lang.RestFn.applyTo(RestFn.java:137)\npuppetserver[97125]: at clojure.lang.Var.applyTo(Var.java:705)\n\u00a0puppetserver[97125]: at clojure.main.main(main.java:40)\n\u00a0puppetserver[97125]: Execution error at jdk.internal.reflect.NativeConstructorAccessorImpl/newInstance0 (NativeConstructorAccessorImpl.java:-2).\n\u00a0puppetserver[97125]: Service ':CaService' not found\n\u00a0puppetserver[97125]: Full report at:\npuppetserver[97125]: /tmp/clojure-10810103828623896986.edn\npuppetserver[97125]: 2021-05-05 13:02:17,661 INFO [p.t.internal] Shutting down due to JVM shutdown hook.\npuppetserver[97125]: 2021-05-05 13:02:17,665 INFO [p.t.internal] Beginning shutdown sequence\n\u00a0puppetserver[97125]: 2021-05-05 13:02:17,672 INFO [p.t.internal] Finished shutdown sequence", "created": "2021-05-04T21:05:00.000000"}], "components": ["Certificate Authority", "Puppet Server"], "created": "2020-03-28T01:59:00.000000", "creator": "6243b0334fe01d006ba5c498", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63d4821d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00oxc:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Oct/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19234721423_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.14.0-1buster\n *Puppet Server Version:* 6.9.2-1buster\n *OS Name/Version:*\u00a0Debian buster ** \n\nI followed the instructions on [https://puppet.com/docs/puppetserver/latest/install_from_packages.html] to install {{puppetserver}} on this Debian system.\n\nI also downgraded to 6.7.2-1buster, which I understand is a \"released\" version, but the same problem persists.\n\n\u00a0\n\n*Desired Behavior:*\n\n{{systemctl start puppetserver}} should start the server.\n\n*Actual Behavior:*\n\nInstead, the server fails to start. This is the log contents:\n\n\u00a0\n{noformat}\nar 28 08:39:07 pulse systemd[1]: Starting puppetserver Service...\nMar 28 08:39:15 pulse puppetserver[2767]: WARNING: An illegal reflective access operation has occurred\nMar 28 08:39:15 pulse puppetserver[2767]: WARNING: Illegal reflective access by dynapath.defaults$fn__15949$fn__15950 (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to method java.net.URLClassLoader.addURL(java.net.URL)\nMar 28 08:39:15 pulse puppetserver[2767]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__15949$fn__15950\nMar 28 08:39:15 pulse puppetserver[2767]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nMar 28 08:39:15 pulse puppetserver[2767]: WARNING: All illegal access operations will be denied in a future release\nMar 28 08:39:20 pulse puppetserver[2767]: 2020-03-28 08:39:20,868 INFO  [o.e.j.u.log] Logging initialized @13695ms to org.eclipse.jetty.util.log.Slf4jLog\nMar 28 08:39:21 pulse puppetserver[2767]: 2020-03-28 08:39:21,077 INFO  [p.t.s.w.jetty9-core] Removing buggy security provider SunPKCS11 version 11\nMar 28 08:39:23 pulse puppetserver[2767]: 2020-03-28 08:39:23,726 ERROR [p.t.internal] Error during app buildup!\n.Tea\nMar 28 08:39:23 pulse puppetserver[2767]: #011at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.Reflector.invokeConstructor(Reflector.java:305)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$handle_prismatic_exception_BANG_.invokeStatic(internal.clj:116)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$handle_prismatic_exception_BANG_.invoke(internal.clj:106)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$instantiate$fn__14538.invoke(internal.clj:157)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$instantiate.invokeStatic(internal.clj:154)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$instantiate.invoke(internal.clj:147)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$fn__15176$build_app_STAR___15185$fn__15186.invoke(internal.clj:562)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$fn__15176$build_app_STAR___15185.invoke(internal.clj:530)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$fn__15280$boot_services_STAR___15289$fn__15290$fn__15291.invoke(internal.clj:632)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$fn__15280$boot_services_STAR___15289$fn__15290.invoke(internal.clj:631)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.internal$fn__15280$boot_services_STAR___15289.invoke(internal.clj:626)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$fn__16070$boot_with_cli_data__16077$fn__16078.invoke(core.clj:131)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$fn__16070$boot_with_cli_data__16077.invoke(core.clj:96)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$fn__16099$run__16104$fn__16105.invoke(core.clj:152)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$fn__16099$run__16104.invoke(core.clj:146)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$main.invokeStatic(core.clj:174)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.core$main.doInvoke(core.clj:160)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.Var.applyTo(Var.java:705)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.core$apply.invokeStatic(core.clj:665)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.core$apply.invoke(core.clj:660)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.main$_main.invokeStatic(main.clj:7)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at puppetlabs.trapperkeeper.main$_main.doInvoke(main.clj:4)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.Var.applyTo(Var.java:705)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.core$apply.invokeStatic(core.clj:665)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.main$main_opt.invokeStatic(main.clj:514)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.main$main_opt.invoke(main.clj:510)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.main$main.invokeStatic(main.clj:664)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.main$main.doInvoke(main.clj:616)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.lang.Var.applyTo(Var.java:705)\nMar 28 08:39:23 pulse puppetserver[2767]: #011at clojure.main.main(main.java:40)\nMar 28 08:39:24 pulse puppetserver[2767]: Execution error at jdk.internal.reflect.NativeConstructorAccessorImpl/newInstance0 (NativeConstructorAccessorImpl.java:-2).\nMar 28 08:39:24 pulse puppetserver[2767]: Service ':CaService' not found\nMar 28 08:39:24 pulse puppetserver[2767]: Full report at:\nMar 28 08:39:24 pulse puppetserver[2767]: /tmp/clojure-14664521080227414194.edn\nMar 28 08:39:24 pulse puppetserver[2767]: 2020-03-28 08:39:24,220 INFO  [p.t.internal] Shutting down due to JVM shutdown hook.\nMar 28 08:39:24 pulse puppetserver[2767]: 2020-03-28 08:39:24,229 INFO  [p.t.internal] Beginning shutdown sequence\nMar 28 08:39:24 pulse puppetserver[2767]: 2020-03-28 08:39:24,264 INFO  [p.t.internal] Finished shutdown sequence\nMar 28 08:39:24 pulse puppetserver[2767]: Background process 2774 exited before start had completed\nMar 28 08:39:24 pulse systemd[1]: puppetserver.service: Control process exited, code=exited, status=1/FAILURE{noformat}\nThe referenced file {{/tmp/clojure-14664521080227414194.edn}} is attached.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15228", "fixedVersions": [], "id": "15228", "issueType": "Bug", "key": "SERVER-2769", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b0334fe01d006ba5c498", "resolution": "Cannot Reproduce", "resolutionDate": "2020-11-05T15:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver won't start, dies with java.lang.RuntimeException: Service ':CaService' not found", "timeSpent": "PT0S", "updated": "2021-05-04T21:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The {{returned=6}} part means there was a problem with the handshake. The {{write finished}} makes me think the remote side (puppetserver) closed the connection. Given the transient nature of this, I'd suggest using tcpdump/wireshark to capture traffic when the connection succeeds and when it fails. Given that it succeeds when debugging is enabled, it sounds timing relating. Just a guess but perhaps the server is running out of entropy and cannot generate the session keys needed for the connection? When the connection succeeds, which ciphersuite is selected? You can tell on the agent by running with {{puppet agent -t --http_debug}}", "created": "2020-03-30T10:57:00.000000"}, {"author": "624380d2a629c30068a3c8f3", "body": "TLS 1.2\ncipher suite: TLS_DHE_RSA_WITH_AES128_GCM_SHA256\nsignature algo: rsa_pkcs1_sha512\n\n\n\nFailed handshake and successful handshake look similar in a packet capture other than the Puppet server sending a Close Notify warning after sending it's cert and trusted chain. So in wireshark, the failed one looks like: (agent)client hello, (server)server hello, (server)certificate, (server)alert warning close notify, (server)fin/ack, (client)ack, (client)certificate key exchange cert verify change cipher spec encypted handshake, (client)fin/ack, (server) ack)", "created": "2020-03-30T15:58:00.000000"}, {"author": "624380d2a629c30068a3c8f3", "body": "Found the problem.\n\nThe webserver.conf had the ssl-cert-chain directive pointing to the same ca.pem bundle as ssl-ca-cert's ca.pem (50 certs) as opposed to just the servers chain (2 certs). Commenting this optional directive out and restarting the puppetserver service enables the agent to connect without issue. Doesn't explain why changing logging verbosity allowed it to work though.", "created": "2020-04-01T15:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "My theory: this was likely a race condition, (e.g. reading 50 certs takes longer than reading just 2) and since logging at debug slows things down, the issue disappeared. Since you seem to have solved this, I'm going to close this ticket. Please reopen if there is any additional action you think we need to take.", "created": "2020-10-27T12:57:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-27T17:48:00.000000", "creator": "624380d2a629c30068a3c8f3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@538e270a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00owo:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18472195969_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6*\n *Puppet Server Version: 6.9.2*\n *OS Name/Version: RHEL 7.7*\n\nDescribe your issue in as much detail as possible\u2026\n\nCurrently running puppet server 6.9.2 on rhel7 in a DoD STIG'd environment (fips mode off on puppet server, on on agent). Agent is 6.14.0. Agents running puppet agent -t recieve a \"Warning: SSL_connect returned=6 errno=0 state=SSLv3/TLS write finished\" error. Checked all the usual suspects like certs and trusts (puppet CA is off, using DoD signed certs). Here's where it gets interesting. If I go into logback.xml and increase logging verbosity of org.eclipse.jetty from INFO to DEBUG, and restart the puppetserver service, everything works. No errors for the most part.\u00a0A restart by itself seems to have no effect. Switching back to INFO and restarting the error comes back. Switching org.apache.http to DEBUG and restarting had no effect. The switchup with org.eclipse.jetty isn't 100%, still sometimes get the error, so intermittent, but gets through enough that I can lay down config on the agent side. Fwiw, also had the error on 6.7 before updating to the latest.\n\n\n Describe steps to reproduce\u2026\n\n*Desired Behavior:*\u00a0proper connection between puppet agent and puppet server.\n\n*Actual Behavior:*\u00a0Warning: SSL_connect returned=6 errno=0 state=SSLv3/TLS write finished\n\nPlease take a moment\u00a0and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.\n\n\u00a0\n\nWill add logs and config on Monday.", "environment": "DoD environment with DISA STIGs applied, though fips mode is turned off on the puppet server side. RHEL7 servers on VMware hypervisors. Fully up to date on OS and Puppet patches. Puppet CA is turned off, using DoD issued certs and trusts.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17165", "fixedVersions": [], "id": "17165", "issueType": "Bug", "key": "SERVER-2768", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "624380d2a629c30068a3c8f3", "resolution": "Fixed", "resolutionDate": "2020-10-27T12:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Strange SSL behavior ", "timeSpent": "PT0S", "updated": "2020-10-27T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623e750fbef8a60068c8da79", "created": "2020-05-11T07:30:00.000000", "name": "Bildschirmfoto 2020-05-11 um 15.28.24.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11210"}, {"attacher": "623a4603761efb0069cd34da", "created": "2020-04-06T01:51:00.000000", "name": "image-2020-04-06-09-51-08-470.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10592"}, {"attacher": "557058:6f0efc68-27fe-4011-b778-4afc32bab332", "created": "2020-05-12T03:57:00.000000", "name": "performance_puppetserver.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11054"}], "comments": [{"author": "623a4603761efb0069cd34da", "body": "This is a graph of the CodeHeap profiled nmethods cache. As of 25th of march we're starting to hit the \"max\" line which is also the day we've first seen those performance issues again. The Puppetserver update happened on the 19th of march, Puppet itself was upgraded on the 24th of march.\n\n!image-2020-04-06-09-51-08-470.png|width=1322,height=369!", "created": "2020-04-06T01:51:00.000000"}, {"author": "623e750fbef8a60068c8da79", "body": "This is just from today. You clearly can see the codeheap usage increasing after the restart at 2:23 pm. Once it is full the only way to make the puppetserver work again is another restart. Since quite a while now it is happening way more often. We already tried a downgrade but it did not have any affect.\n\n\u00a0 !Bildschirmfoto 2020-05-11 um 15.28.24.png|width=244,height=89,thumbnail!", "created": "2020-05-11T07:33:00.000000"}, {"author": "557058:6f0efc68-27fe-4011-b778-4afc32bab332", "body": "Hi,\n\n\u00a0\n\nthis looks exactly like the problem we are facing since our puppetserver upgrade to 6.3.1. Puppetserver is running normally for a couple of hours. We see an increase in java heap usage and when it hits the max line, pupeptserver performance is getting really slow. I can see the puppetserver doing Full GCs every few seconds during that time frame:\n\n!performance_puppetserver.png!\n\nAs you can see from the graphs, when heap usage reaches the peak, compile times are going through the roof and JRuby requests start to pile up. This is somewaht imediatly fixed with a restart of the puppetserver process. I've a support case open on this till Febuary, but it does not seem to get anywhere.", "created": "2020-05-12T04:00:00.000000"}, {"author": "623e750fbef8a60068c8da79", "body": "Since Upgrade to Puppetserver 6.12.0 and Puppet 6.16.0 the problems are gone! Thanks @puppetlabs for fixing this issue!\n\n\u00a0\n\nWe still use the setting `max-request-per-instance` with a value of `10000`.", "created": "2020-07-20T04:11:00.000000"}, {"author": "623e750fbef8a60068c8da79", "body": "This ticket can be closed!", "created": "2020-07-20T04:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Glad to hear that! The 6.12 release contained an update to JRuby, from 9.2.8.0 to 9.2.11.1, so perhaps that fixed your issue", "created": "2020-07-20T09:45:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-27T07:49:00.000000", "creator": "623e750fbef8a60068c8da79", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ff6a92e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00ols:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9942935474_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.14.0*\n *Puppet Server Version: 6.9.1*\n *OS Name/Version: Ubuntu 16.04*\n\nAfter an unspecific amount of runs the compilation time increases by 50-600%.\n\n*Describe steps to reproduce:*\n\nExecute a `puppet agent -t --noop` with a node concurrency of 15-40 for 2000 nodes.\n\n*Desired Behavior:*\n\nCompilation time should not constantly increase. It should stay nearly the same.\n\n*Actual Behavior:*\n\nCompilation time increases constantly and stays at a high value.\n\nSince quite a while we face a constant increase of the catalog compilation time with the puppetserver. After an unspecific amount of runs the compilation time increases by 50-600%. In the past the fixed this with your documenation meantioning to increase the `ReservedCodeCacheSize`. This did not completly solve the issue, but did ensure we did not need to restart the puppetserver regularly.\n\nAfter upgrading to puppetserver 6.9.1 this issue happens again very often, which forces us to restart the puppetserver often (1-2 times a day). But we cannot increase it futher because the we get an error telling us it can not be higher than 2GB.\n\nExamples:\n - compilation times of a node with many resources and puppetdb_query():\n\n097.50 seconds - restarted puppetserver \n 106.81 seconds - many values at 100 seconds +/- 15 for the next 2 hours\n 346.23 seconds - started a parallel (15) `puppet agent --noop` run\n 311.15 seconds - many values around 300 seconds +/- 30 for the next 2 hours\n 130.63 seconds - restarted the puppetserver\n 101.60 seconds - many values at 100 seconds +/- 15 for the next 2 hours\n 399.32 seconds - started a parallel (15) `puppet agent --noop` run\n 545.80 seconds - stopped the parallel run\n 554.95 seconds - \n 613.68 seconds - puppet agent run (cron) times out (600 seconds limit)\n 094.76 seconds - after restarted puppetserver\n - compilation times of a node with gentle amount of resources:\n\n8.67 seconds - restarted puppetserver \n 8.79 seconds - many values at 8 seconds +/- 1\n 22.33 seconds - started a parallel (15) `puppet agent --noop` run\n 7.94 seconds - restarted puppetserver \n 12.66 seconds - started a parallel (15) `puppet agent --noop` run\n 13.91 seconds -\n 13.26 seconds - stopped the parallel runs\n 8.44 seconds - restarted puppetserver\n\nSetup:\n\nWe run about 2.500 nodes served by two setups of puppetserver and puppetdb (each production and development has one). The production puppetserver serves only the production environment with about 175 modules. The development puppetserver serves 100+ environments also with about 175 modules.\n\nSettings:\n\nproduction puppetserver (Ubuntu Xenial, memory: 48GB, CPU: 32, Virtuzzo 6 VE):\n - max-active-instances: 32\n - max-requests-per-instance: 0\n - max-queued-requests: 64\n - max-retry-delay: 60\n - environment-class-cache-enabled: false\n - JAVA_ARGS: \"-Xms20480m -Xmx20480m -XX:+UseG1GC -XX:ReservedCodeCacheSize=2048m\"\n\ndevelopment puppetserver (Ubuntu Xenial, memory: 18GB, CPU: 12, Virtuzzo 6 VE):\n - max-active-instances: 12\n - max-requests-per-instance: 0\n - max-queued-requests: 24\n - max-retry-delay: 60\n - environment-class-cache-enabled: false\n - JAVA_ARGS: \"-Xms7680m -Xmx7680m -XX:+UseG1GC -XX:ReservedCodeCacheSize=1024m\"\n\nJava (same on all nodes):\n ~ $ java -version\n openjdk version \"11.0.5\" 2019-10-15\n OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-2ubuntu116.04)\n OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-2ubuntu116.04, mixed mode, sharing)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16356", "fixedVersions": ["SERVER 6.12.0"], "id": "16356", "issueType": "Bug", "key": "SERVER-2766", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e750fbef8a60068c8da79", "resolution": "Fixed", "resolutionDate": "2020-07-20T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Constant increase of catalog compilation time", "timeSpent": "PT0S", "updated": "2020-07-20T09:45:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:70121:b3f79c9f-72bf-4603-90c9-4edcdba10422] this is due to PUP-10238, which was fixed in 5.5.19. You can set {{strict_hostname_checking=false}} to restore the previous unsafe behavior. See the ticket for more information.", "created": "2020-03-27T15:33:00.000000"}, {"author": "70121:b3f79c9f-72bf-4603-90c9-4edcdba10422", "body": "[~accountid:63d40628f6e1b543161789a7]\u00a0that seems to be the problem indeed, my nodes are now receiving their definitions again. Thank you!\n\nWhat I would like to understand at this point:\n * Why is puppet-agent package affecting puppetserver?\n * Why is this change not reflected in the release notes? ([https://puppet.com/docs/puppet/5.5/release_notes.html|https://puppet.com/docs/puppet/5.5/release_notes.html#puppet-5519])\n * Why is such a breaking change in a patch release? People expect patch releases to not break things, and updating patch releases are usually considered \"safe\". (The same problem happened with PuppetDB 5.2.13, turning off some endpoints).\n\n\u00a0", "created": "2020-03-28T01:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "{quote}Why is puppet-agent package affecting puppetserver{quote}\n\nThe puppet-agent package contains the puppet ruby code that puppetserver uses to compile catalogs among other things.\n\n{quote}Why is this change not reflected in the release notes?{quote}\n\nWe're working on updating those.\n\n{quote}Why is such a breaking change in a patch release?{quote}\n\nThe previous behavior was insecure, and the only remedy is to change the behavior.", "created": "2020-04-01T12:08:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "The CVE page and release notes have been updated with this issue and fix:\n\n[https://puppet.com/security/cve/CVE-2020-7942/]\n\n[https://puppet.com/docs/puppet/5.5/release_notes.html#resolved-issues]", "created": "2020-04-02T02:52:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-27T04:38:00.000000", "creator": "70121:b3f79c9f-72bf-4603-90c9-4edcdba10422", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2cfc26e0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00oiw:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_39272533_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.19*\n *Puppet Server Version: 5.3.12*\n *OS Name/Version: CentOS Linux release 7.7.1908 (Core)*\n\nAfter upgrading puppet (agent) to 5.5.19 (on the server) and restarting puppetserver, all nodes receive the default manifest (i.e. no config). There are no warnings/errors in puppetserver's output and I don't know what to provide here. Downgrading puppet (agent) to 5.5.18 (on the server) resolves the problem.\n\nThe clients (other agents) can run 5.5.19 just fine, it's just the server's agent version that must be downgraded for the puppetserver to function.\n\n*Desired Behavior:*\n\nUpgrading puppet (agent) to 5.5.19 shouldn't break puppetserver.\n\n*Actual Behavior:*\n\nUpgrading puppet (agent) to 5.5.19 breaks puppetserver.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16592", "fixedVersions": [], "id": "16592", "issueType": "Bug", "key": "SERVER-2765", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b3f79c9f-72bf-4603-90c9-4edcdba10422", "resolution": "Incomplete", "resolutionDate": "2020-03-27T15:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet 5.5.19 breaks puppetserver", "timeSpent": "PT0S", "updated": "2020-04-02T02:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Can you check if {{/var/log/puppetlabs/puppetserver/puppetserver.log}} contains a stack trace, and if so, add as a comment here? Also did the puppet-agent version change when the server updated?", "created": "2020-03-27T15:52:00.000000"}, {"author": "6243b5d445ece00069c8ffee", "body": "The agent did not update at the same time as the server. It last updated from 6.13.0 to 6.14.0 on 12 Mar 2020 while puppetserver updated from 6.9.1 to 6.9.2 on 26 Mar 2020 and that's when it stopped getting reports.\n\nThe stack trace in the pupperserver.log file is as follows:\n\n{noformat}\n2020-03-27T15:09:46.609-07:00 ERROR [qtp412108063-24281] [puppetserver] Puppet Server Error: undefined method `gsub' for true:TrueClass\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:46:in `reports'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:51:in `processors'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:30:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/report/processor.rb:14:in `save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:316:in `save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:199:in `do_save'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:54:in `block in call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:53:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `block in process'\norg/jruby/RubyArray.java:1800:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:88:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:87:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:70:in `block in with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:66:in `with_request_profiling'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:86:in `block in process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:93:in `respond_to_errors'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:85:in `process'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:64:in `block in handleRequest'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:290:in `override'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:63:in `handleRequest'\n{noformat}", "created": "2020-03-27T16:14:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "That line is [https://github.com/puppetlabs/puppet/blob/d8068536284ad3601d447308ab9d3d6f9cdcf02d/lib/puppet/indirector/report/processor.rb#L46]\u00a0which looks like the {{Puppet[:reports]}} setting is set to {{true}} instead of the name of the report processor(s), like {{http}}, {{puppetdb}}, {{store}}, etc. See https://puppet.com/docs/puppet/latest/report.html", "created": "2020-03-27T16:24:00.000000"}, {"author": "6243b5d445ece00069c8ffee", "body": "Thank you, this was the issue. Someone had pushed a commit with that setting as true and it didn't cause any issues until the puppetserver restarted when it updated.", "created": "2020-03-30T09:59:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Cool thanks, I'll close this out.", "created": "2020-03-30T10:19:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-26T17:03:00.000000", "creator": "6243b5d445ece00069c8ffee", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fa4a04e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00ob4:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_321331438_*|*_6_*:*_1_*:*_0"}], "description": "We have a puppet server set up with Foreman and PuppetDB that has not received reports since puppetserver was updated to 6.9.2 from 6.9.1\n\n\u00a0\n\nWe receive the following error:\n\n\"Error: Could not send report: Error 500 on SERVER: Server Error: undefined method `gsub' for true:TrueClass\"", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17163", "fixedVersions": [], "id": "17163", "issueType": "Bug", "key": "SERVER-2764", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b5d445ece00069c8ffee", "resolution": "Incomplete", "resolutionDate": "2020-03-30T10:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Foreman/Server/PuppetDB Not Receiving Reports", "timeSpent": "PT0S", "updated": "2020-03-30T10:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [{"attacher": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "created": "2020-07-21T15:05:00.000000", "name": "versioned-fs.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10675"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79] this is going to be a known issue for the Puppet Server 6.10.0 release. \n\n\"The update to JRuby 9.2.11.1 caused a change in defaults when installing gems with {{puppetserver gem}}. It now attempts to install docs by default, but installing docs is currently broken. Pass {{--no-document}} when installing gems with puppetserver to avoid the bug.\"", "created": "2020-04-03T17:05:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It looks like there was a regression in 9.2.10 that broke globbing from jars in some circumstances. There was a fix in 9.2.11, see\u00a0[https://github.com/jruby/jruby/pull/6084]. However the way we specify the \"puppetserver-lib\" location for some configurations (maybe just cli tools??) cannot be correctly expanded and is causing this issue.\n\nSpecifically with rdoc/rubygems. rdoc tries to load extensions by calling a rubygems function called \"find_files\" which searches the $LOAD_PATH for a specified glob. It is effectively this:\n{code:java}\n$LOAD_PATH.flat_map {|path| Dir.glob('rdoc/discover.rb', base: path) } {code}\nHere's an example from {{lein irb}}:\n{code:java}\nirb(main):006:0> Dir.glob(\"*\", base: \"./src/ruby/puppetserver-lib\")\n=> [\"puppet\"]\n\nirb(main):007:0> $LOAD_PATH\n=> [\"classpath:/puppetserver-lib\", \"./ruby/puppet/lib\", \"./ruby/facter/lib\", \"./ruby/hiera/lib\", \"./ruby/resource_api/lib\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/2.5/site_ruby\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib\"]\n\nirb(main):008:0> Dir.glob \"*\", base:  \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib\"\n=> [\"drb\", \"racc\", \"digest\", ...snip... \"rdoc\", \"pathname.rb\"]\n\nirb(main):009:0> Dir.glob \"*\", base:  \"classpath:/puppetserver-lib\"\nTraceback (most recent call last):\n       16: from org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)\n       15: from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)\n       14: from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)\n       13: from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)\n       12: from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)\n       11: from org.jruby.RubyDir$INVOKER$s$0$2$glob.call(RubyDir$INVOKER$s$0$2$glob.gen)\n       10: from org.jruby.RubyDir.glob(RubyDir.java:310)\n        9: from org.jruby.util.Dir.push_glob(Dir.java:310)\n        8: from org.jruby.util.Dir.push_braces(Dir.java:449)\n        7: from org.jruby.util.Dir.push_globs(Dir.java:481)\n        6: from org.jruby.util.Dir.glob_helper(Dir.java:693)\n        5: from org.jruby.util.Dir.glob_helper(Dir.java:745)\n        4: from org.jruby.util.JRubyFile.createResource(JRubyFile.java:82)\n        3: from org.jruby.util.JRubyFile.createResource(JRubyFile.java:119)\n        2: from org.jruby.util.JRubyFile.create(JRubyFile.java:62)\n        1: from org.jruby.util.JRubyFile.createNoUnicodeConversion(JRubyFile.java:143)\nJava::JavaLang::IllegalArgumentException (Neither current working directory (classpath:/puppetserver-lib) nor pathname (.) led to an absolute path) {code}\n\u00a0\n\nWhy isn't this preventing us from loading things in \"puppetserver-lib\" normally, ie is this specific to how our cli runner creates the classpath? Or only specifically to {{Dir.glob()}} with a {{base}} parameter when acting on one entry in our LOAD_PATH? Could this affect the autoloader? \u2013 what else can the root cause of this issue effect?\n\nIs there a new or better way to specify classpath additions to the Ruby loadpath? What does a fix to the loadpath issue look like?", "created": "2020-04-08T23:39:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I'm not having an issue installing gems into puppetserver in PE 2019.7.  Is there a reason to believe we need to fix this more so than the existing fix to just not install docs?  ", "created": "2020-05-12T12:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not sure. Depends on if that causes problems for anyone I guess. I think one thing we were considering is passing {{--no-document}} directly in puppetserver's internal gem invocation, so that no one external has to do anything.\n\nThis would make it impossible to ever install docs, but that's probably okay.", "created": "2020-05-12T12:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}I'm not having an issue installing gems into puppetserver in PE 2019.7\n{quote}\nWe rolled back the JRuby update that broke this, didn't we?", "created": "2020-05-13T14:11:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "looks like we're on 9.2.8 so maybe that is why?  \n\nhttp://pebuildinfo.slice.puppetlabs.net/2019.7.0#component-201970-pe-puppetserver", "created": "2020-05-13T14:23:00.000000"}, {"author": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "body": "Today I observed a similar error and collected a backtrace (attached)\n{noformat}\n2020-07-21T06:20:36.193-07:00 ERROR [qtp767415779-162325] [puppetserver] Puppet Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Neither current working directory (classpath:/puppetserver-lib) nor pathname (logging/plugins) led to an absolute path (file: /opt/puppetlabs/server/data/puppetserver/filesync/client/versioned-dirs/puppet-code/production-69eda3f7eb5c424f4b9fff978d7a04a6f988ed49/site/profile/manifests/aws/ec2/instances.pp, line: 50, column: 27) (file: /opt/puppetlabs/server/data/puppetserver/filesync/client/versioned-dirs/puppet-code/production-69eda3f7eb5c424f4b9fff978d7a04a6f988ed49/site/profile/manifests/aws/provisioner/forgenext.pp, line: 110) on node <redacted>{noformat}", "created": "2020-07-21T15:03:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], it looks like the root cause of this issue (a bad classpath in puppetserver that doesn't play well with some newer Ruby Dir methods) is causing an AWS gem requirement to fail to load when applying some DIO code, which is also then causing CD4PE's Impact Analysis to err. It sounds like DIO has disabled some of their IA checks for the time being. But I thought I'd bring that up (it was mentioned in slack) in case that info makes is a higher priority for you.", "created": "2020-08-04T15:21:00.000000"}, {"author": "557058:d266d245-5cba-4a99-842a-d1e061513459", "body": "To be clear, we cannot have IA as required check on our control repo until this is fixed. This effectively means we cannot rely on IA as a means of validating our code.", "created": "2020-08-20T09:40:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] idk how this ticket relates to the problem [~accountid:557058:d266d245-5cba-4a99-842a-d1e061513459] is talking about.  We should prioritize fixing Genes problem though.  Either via this ticket or a new one whichever makes more sense.  ", "created": "2020-08-20T15:14:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The ticket title/description describe a symptom and the proposed solution is a workaround for that symptom. The root cause I found in my [comment|https://puppet.atlassian.net/browse/SERVER-2763?focusedCommentId=731500&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-731500] above. That is the root cause, I believe, of both the original issue and Gene's (I don't believe the original proposed workaround would work for Gene though).", "created": "2020-08-20T16:00:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I updated the title and description to reflect my understanding of the issue.", "created": "2020-08-20T16:11:00.000000"}], "components": [], "created": "2020-03-26T16:03: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@50e9bafe"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwl99:zkbbwyi"}, {"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": "Puppet Server's JRuby load path can now be used with `Dir.glob`. Notably, this re-enables installing gems with docs via `puppetserver gem`."}, {"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/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_73137638_*|*_1_*:*_1_*:*_13382_*|*_10007_*:*_1_*:*_431643010_*|*_3_*:*_2_*:*_516422441_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15725214868"}], "description": "It looks like there was a regression in 9.2.10 that broke globbing from jars in some circumstances. There was a fix in 9.2.11, see\u00a0[https://github.com/jruby/jruby/pull/6084]. However the way we specify the \"puppetserver-lib\" location for some configurations (maybe just cli tools??) cannot be correctly expanded and is causing this issue.\n\nSpecifically with rdoc/rubygems. rdoc tries to load extensions by calling a rubygems function called \"find_files\" which searches the $LOAD_PATH for a specified glob. It is effectively this:\n{code:java}$LOAD_PATH.flat_map {|path| Dir.glob('rdoc/discover.rb', base: path) } {code}\nHere's an example from {{lein irb}}:\n{code:java}irb(main):006:0> Dir.glob(\"*\", base: \"./src/ruby/puppetserver-lib\")\n=> [\"puppet\"]\n\nirb(main):007:0> $LOAD_PATH\n=> [\"classpath:/puppetserver-lib\", \"./ruby/puppet/lib\", \"./ruby/facter/lib\", \"./ruby/hiera/lib\", \"./ruby/resource_api/lib\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/2.5/site_ruby\", \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib\"]\n\nirb(main):008:0> Dir.glob \"*\", base:  \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib\"\n=> [\"drb\", \"racc\", \"digest\", ...snip... \"rdoc\", \"pathname.rb\"]\n\nirb(main):009:0> Dir.glob \"*\", base:  \"classpath:/puppetserver-lib\"\nTraceback (most recent call last):\n       16: from org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)\n       15: from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)\n       14: from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)\n       13: from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)\n       12: from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)\n       11: from org.jruby.RubyDir$INVOKER$s$0$2$glob.call(RubyDir$INVOKER$s$0$2$glob.gen)\n       10: from org.jruby.RubyDir.glob(RubyDir.java:310)\n        9: from org.jruby.util.Dir.push_glob(Dir.java:310)\n        8: from org.jruby.util.Dir.push_braces(Dir.java:449)\n        7: from org.jruby.util.Dir.push_globs(Dir.java:481)\n        6: from org.jruby.util.Dir.glob_helper(Dir.java:693)\n        5: from org.jruby.util.Dir.glob_helper(Dir.java:745)\n        4: from org.jruby.util.JRubyFile.createResource(JRubyFile.java:82)\n        3: from org.jruby.util.JRubyFile.createResource(JRubyFile.java:119)\n        2: from org.jruby.util.JRubyFile.create(JRubyFile.java:62)\n        1: from org.jruby.util.JRubyFile.createNoUnicodeConversion(JRubyFile.java:143)\nJava::JavaLang::IllegalArgumentException (Neither current working directory (classpath:/puppetserver-lib) nor pathname (.) led to an absolute path) {code}\n\u00a0\n\nThis is most apparent when trying to generate rdoc content for gems. Generating rdoc content can be attempted automatically in some versions of Rubygems when installing gems. In those cases this bug causes gem installation to fail as well. When that happens it looks like:\n{code}# puppetserver gem install bundler\nSuccessfully installed bundler-2.1.4\nLoadError: load error: rdoc/rdoc -- java.lang.IllegalArgumentException: Neither current working directory (classpath:/puppetserver-lib) nor pathname (rdoc/discover) led to an absolute path\n                 require at org/jruby/RubyKernel.java:974\n                 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54\n               load_rdoc at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:73\n                   setup at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:238\n                generate at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:151\n         generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:56\n                    each at org/jruby/RubyArray.java:1809\n         generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:55\n           install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:323\n                    each at org/jruby/RubyArray.java:1809\n           install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:322\n                 install at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:221\n             install_gem at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:212\n            install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:264\n                    each at org/jruby/RubyArray.java:1809\n            install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:258\n                 execute at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:165\n  invoke_with_build_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command.rb:321\n            process_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:184\n                     run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:148\n                     run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:59\n                  <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/jgem:21\n                    load at org/jruby/RubyKernel.java:1009\n                  <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/gem:4\n                    load at org/jruby/RubyKernel.java:1009\n                  <main> at -e:1\n{code}\nNotice that the gem install does not actually fail. It just explodes noisily when installing docs after succeeding to install the gem itself.\n\u00a0\n\nAs a workaround for this particular manifestation, the {{--no-document}} flag can be passed to the gem install command.\n\n\nIt also looks like a similar issue is occuring during a function in CD4PE's IA feature when loading {{logging/plugins}} during a catalog compilation. There isn't a known workaround for that issue besides disabling Impact Analysis.\n\nTo fix this, we most likely need to audit how we're constructing the classpath for JRuby to ensure JRuby's standard library, Puppet's libdir and Puppet Server's vendored Ruby code are all accessible and each entry is usable from {{Dir.glob(\"...\", base: <our values>)}}.\n\nBefore that we should also see if upgrading to JRuby 9.2.13.0 resolves the issue.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16591", "fixedVersions": ["SERVER 6.14.0"], "id": "16591", "issueType": "Bug", "key": "SERVER-2763", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-10-06T11:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Some Dir methods broken with puppetserver's custom classpath", "timeSpent": "PT0S", "updated": "2020-10-06T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Might also want to consider the number of catalog requests per minute as a more important metric. Not necessarily just the number of successful catalog compiles.\n\nFor capacity planning, it's extremely helpful to know how hard your Puppetserver is getting hit. And being able to graph the number of catalog requests per minute would help.", "created": "2020-03-27T18:31:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T09:47:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-26T12:28:00.000000", "creator": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "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": "I should be able to make an HTTP request and get a JSON response showing the number of catalog compiles that have happened in the previous 60 seconds."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cf7260"}, {"fieldName": "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": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00nzk:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19370119284_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_42140609886"}], "description": "As an administrator of multiple large Puppet infrastructures, I'd like to be able to quickly get a sense of how many catalogs a Puppetserver instance is compiling per minute. This information is critical for capacity planning, tuning, and for general health checks.\n\nRight now the only way to measure this value is to grep though puppetserver.log for lines containing \"Puppet compiled\", parsing out a time period I care about, then counting the found lines. Scraping logs to get this information is not ideal considering I get most of my other Puppetserver metrics through its metrics or status API's.\n\nIt'd be great to have an API return a JSON response for things like:\n* Number of catalogs compiled in the last 60 seconds (very important)\n* Number of catalogs compiled in the last 5 minutes (optional)\n* Number of catalogs compiled in the last 15 minutes (optional)\n* Number of catalogs compiled in the last hour (optional, but probably more useful than the 5m or 15m counts)", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "15441", "fixedVersions": [], "id": "15441", "issueType": "New Feature", "key": "SERVER-2762", "labels": [], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "resolution": "Won't Do", "resolutionDate": "2022-03-08T09:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add a Puppetserver metric to track the number of catalogs compiled per minute", "timeSpent": "PT0S", "updated": "2022-03-08T09:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623a4603761efb0069cd34da", "body": "Might be related to TK-481 but if I get this right, TK-481 talks about the test suite not about the \"normal\" running Puppetserver.", "created": "2020-03-26T03:47:00.000000"}, {"author": "6220db6259c0740069d86127", "body": "Not only at startup, but for anytime running few command commnads:\n----\n[root@pe-201950-master ~]# puppetserver irb\nWARNING: An illegal reflective access operation has occurred\nWARNING: Illegal reflective access by com.headius.backport9.modules.Modules (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to field .FileDescriptor.fd\nWARNING: Please consider reporting this to the maintainers of com.headius.backport9.modules.Modules\nWARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nWARNING: All illegal access operations will be denied in a future release\nirb(main):001:0>\nMaybe related to this issue:\n\nhttps://github.com/voxpupuli/hiera-eyaml/issues/298\n\n\u00a0", "created": "2020-04-01T17:38:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "On Fedora 35, with the OS-provided Java 17 packages installed, and alternatives(8) configured to use Java 11 by default:\n\n{noformat}\n$ java -version\nopenjdk version \"17.0.1\" 2021-10-19\nOpenJDK Runtime Environment 21.9 (build 17.0.1+12)\nOpenJDK 64-Bit Server VM 21.9 (build 17.0.1+12, mixed mode, sharing)\n{noformat}\n\n\u2026I no longer see these warnings from Puppet server (either at startup, or at any other time).\n\n(In case anyone is wondering: Puppet doesn\u2019t package puppetserver for Fedora, so I use the RHEL8 packages on Fedora 35.)\n\nAccording to [JEP 403: Strongly Encapsulate JDK Internals|https://openjdk.java.net/jeps/403], OpenJDK disabled illegal access operations in Java 17, with no way to enable them.\n\nSo, what I suspect is happening here is:\n\n* Java 17 silently denies the illegal access operations that Puppet server is attempting, which is why the startup messages about illegal access no longer occur.\n* The denials are not fatal to Puppet server (and, in fact, do not even cause Puppet server to generate any warnings/errors).\n\nIf the denials subtly break some aspect of Puppet server functionality, I have not noticed it. (Note that I am _not_ asserting that they don\u2019t", "created": "2022-01-25T12:49:00.000000"}], "components": [], "created": "2020-03-26T03:46:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66e355a0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00n94:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Apr/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19401433277_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_42154737068"}], "description": "*Puppet Version:* 6.14.0\n *Puppet Server Version:* 6.9.2\n *OS Name/Version:* Ubuntu 16.04\n*Java Version:* 11\n**\n\nAfter upgrading from 6.7.1 to 6.9.1 we're seeing WARNING in the startup log of Puppetserver.\n\n*Desired Behavior:*\n\nNo warning ;)\n\n*Actual Behavior:*\n{code:java}\nMar 18 12:06:30 ps01 puppetserver[4703]: WARNING: An illegal reflective access operation has occurred\nMar 18 12:06:30 ps01 puppetserver[4703]: WARNING: Illegal reflective access by dynapath.defaults$fn__15945$fn__15946 (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to method java.net.URLClassLoader.addURL(java.net.URL)\nMar 18 12:06:30 ps01 puppetserver[4703]: WARNING: Please consider reporting this to the maintainers of dynapath.defaults$fn__15945$fn__15946\nMar 18 12:06:30 ps01 puppetserver[4703]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nMar 18 12:06:30 ps01 puppetserver[4703]: WARNING: All illegal access operations will be denied in a future release{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17161", "fixedVersions": [], "id": "17161", "issueType": "Bug", "key": "SERVER-2761", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver starts logging warnings on startup", "timeSpent": "PT0S", "updated": "2023-02-07T15:07:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "Simply adding a trailing slash to\u00a0{{rm -rf /etc/puppetlabs/ssl/}} (which would automatically happen if they tab-autocomplete the command)\u00a0will delete all of the files in {{/etc/puppetlabs/puppetserver/ca}}. So a symlink would be a half-measure.", "created": "2020-03-27T11:44:00.000000"}, {"author": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "body": "someone should run through the steps and confirm the behavior that Tom noted, and then we can spike on it", "created": "2020-06-12T11:55:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I can't reproduce the behavior Tom described with PE 2019.8:\n\n{noformat}\n# systemctl stop puppet pe-puppetserver\n# mkdir -p /var/opt/puppetlabs/puppetserver\n# chown pe-puppet /var/opt/puppetlabs/puppetserver\n\n# mv /etc/puppetlabs/puppet/ssl/ca /var/opt/puppetlabs/puppetserver\n# ln -s /var/opt/puppetlabs/puppetserver/ca /etc/puppetlabs/puppet/ssl/\n\n# ls -l /etc/puppetlabs/puppet/ssl/\ntotal 4\nlrwxrwxrwx 1 root      root        35 Aug  4 21:09 ca -> /var/opt/puppetlabs/puppetserver/ca\ndrwxr-xr-x 2 pe-puppet pe-puppet    6 Aug  4 20:32 certificate_requests\ndrwxr-xr-x 2 pe-puppet pe-puppet   92 Aug  4 20:34 certs\n-rw-r--r-- 1 pe-puppet pe-puppet 1982 Aug  4 20:34 crl.pem\ndrwxr-x--- 2 pe-puppet pe-puppet    6 Aug  4 20:32 private\ndrwxr-x--- 2 pe-puppet pe-puppet   79 Aug  4 20:34 private_keys\ndrwxr-xr-x 2 pe-puppet pe-puppet   79 Aug  4 20:34 public_keys\n{noformat}\n\nRemoving the ssl directory, with trailing slash, leaves the relocated content intact:\n\n{noformat}\n# rm -rf /etc/puppetlabs/puppet/ssl/\n\n# # ls /var/opt/puppetlabs/puppetserver/ca/\nca_crl.pem  ca_key.pem  infra_crl.pem        infra_serials  requests      serial\nca_crt.pem  ca_pub.pem  infra_inventory.txt  inventory.txt  root_key.pem  signed\n{noformat}", "created": "2020-08-04T15:16:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "This may be shell dependent, looks like adding {{mark-symlinked-directories}} in .inputrc will cause it?", "created": "2020-08-27T15:29:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Nah, I can't reproduce either. Tried running as root and non-root, with/without {{.inputrc}}. In all cases, {{rm -rf /etc/puppetlabs/puppet/ssl/}} doesn't follow the symlink. I also tried moving the {{ca}} directory to {{/opt/puppetlabs/puppet/ca}} in case rm -rf didn't follow across filesystems, but got the same result.\n\nAlso Linux man page says this about [symlinks|https://linux.die.net/man/7/symlink]\n{quote}Commands traversing a file tree\n\n...\n The second rule applies to symbolic links that refer to directories. Symbolic links that refer to directories are never followed by default. This is often referred to as a \"physical\" walk, as opposed to a \"logical\" walk\n ...\n The -H flag causes symbolic links specified on the command line to be dereferenced for the purposes of both the action to be performed and the tree walk, and it is as if the user had specified the name of the file to which the symbolic link pointed\n ...\n The rm(1) command operates on the symbolic link, and not the file it references, and therefore never follows a symbolic link. The rm(1) command does not support the -H, -L, or -P options.\n{quote}\nAssuming puppetserver is always installed on redhat/ubuntu I think our approach is fine.\n\nSo where do we move the {{ca}} directory to? Is this handled at install/upgrade time? Or when puppetserver starts up?\n\nI'm assuming puppetserver will move the directory and create the symlink?\n\nI also verified puppetserver can recover if the ssl directory is removed and a new one created. The {{setup}} command also correctly detects the existing CA:\n{noformat}# mv /etc/puppetlabs/puppet/ssl/ca /etc/puppetlabs/puppet/ca\n# ln -s /etc/puppetlabs/puppet/ca /etc/puppetlabs/puppet/ssl/\n# rm -rf /etc/puppetlabs/puppet/ssl/\n# systemctl stop puppetserver\n# puppetserver ca setup\nError:\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/ca_crt.pem'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/infra_crl.pem'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/ca_pub.pem'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/inventory.txt'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/infra_inventory.txt'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/infra_serials'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/serial'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/signed/dull-kidnaper.delivery.puppetlabs.net.pem'\nExisting file at '/etc/puppetlabs/puppet/ssl/ca/ca_key.pem'\nIf you would really like to replace your CA, please delete the existing files first.\nNote that any certificates that were issued by this CA will become invalid if you\nreplace it!\n# mkdir /etc/puppetlabs/puppet/ssl/\n# chown puppet:puppet /etc/puppetlabs/puppet/ssl\n# ln -s /etc/puppetlabs/puppet/ca /etc/puppetlabs/puppet/ssl/\n# systemctl start puppetserver\n# puppet agent -t\nInfo: Using configured environment 'production'\n...\n{noformat}", "created": "2020-08-27T16:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I was thinking one way of handling this is to have puppetserver check if {{/etc/puppetlabs/puppet/ssl/ca}} is a directory or symlink when it starts. If it's still a directory, then log a warning about the need to run a command to migrate to the new directory structure.\n\nThen add a new command to the {{puppetserver ca}} CLI so users can manually migrate the ca directory. The migrate command (or whatever it's called) would move the ca directory to the new place and add a symlink.", "created": "2020-09-09T10:42:00.000000"}], "components": [], "created": "2020-03-24T09:06: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@7b403dc8"}, {"fieldName": "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-10593"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:409000005"}, {"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": "See SERVER-2896 for release notes."}, {"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/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_259399500_*|*_1_*:*_2_*:*_517259178_*|*_10007_*:*_1_*:*_63280419_*|*_3_*:*_1_*:*_264718222_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_18775750898_*|*_10005_*:*_1_*:*_8036"}], "description": "The easiest way to separate the CA dir from the SSL dir is to create the files in a different location (or migrate them), and then provide a symlink from the old location to the new location. This will prevent users from automatically deleting their CA files, as {{rm -rf}} will just unlink the symlink and not follow it to delete the files themselves.\n\nWhen puppetserver starts, we should\n * if the CA is not yet initialized, create it in the new location ({{/etc/puppetlabs/puppetserver/ca}}) and create a symlink from the configured location to the new one (see SERVER-2895 for similar change to the CLI {{setup}} command)", "epicLinkSummary": "Puppet 7 Server", "estimate": "PT0S", "externalId": "15758", "fixedVersions": ["SERVER 7.0.0"], "id": "15758", "issueType": "Task", "key": "SERVER-2760", "labels": ["platform_7"], "originalEstimate": "PT0S", "parent": "20311", "parentSummary": "Puppet 7 Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-11-09T10:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver CA init code for new CA dir location", "timeSpent": "PT0S", "updated": "2020-11-13T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "PR to get this automated was merged in yesterday, and images have been pushed to dockerhub", "created": "2020-03-24T14:10:00.000000"}, {"author": "623a4603761efb0069cd34da", "body": "Thank you <3", "created": "2020-03-25T02:25:00.000000"}], "components": [], "created": "2020-03-23T10:11:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71af5993"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00l08:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6293308_*|*_3_*:*_1_*:*_94434914_*|*_5_*:*_1_*:*_0"}], "description": "Puppetserver 6.9.1 was released on the 05.03.2020 and 6.9.2 was released on the 18.03.2020 but I can't find an image at [https://hub.docker.com/r/puppet/puppetserver/tags.]\n\nCould you please create one and automated that process? :)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15438", "fixedVersions": [], "id": "15438", "issueType": "Bug", "key": "SERVER-2759", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "resolution": "Fixed", "resolutionDate": "2020-03-24T14:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet/puppserver:6.9.1/2 docker image missing", "timeSpent": "PT0S", "updated": "2020-03-25T02:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So far haven't run into any hitches with this. But we're currently overriding outside of clj-parent, and for some reason in puppetserver, ezbake does not pick up that override. So I haven't been able to do any package testing yet. I'm looking into how to fix that override issue.", "created": "2020-03-24T10:04:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "New issue, installing gems with {{puppetserver gem}} without specifying {{no-document}} causes a stack trace, even though the gem appears to install successfully:\n{code}\nLoadError: load error: rdoc/rdoc -- java.lang.IllegalArgumentException: Neither current working directory (classpath:/puppetserver-lib) nor pathname (rdoc/discover) led to an absolute path\n                 require at org/jruby/RubyKernel.java:974\n                 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54\n               load_rdoc at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:73\n                   setup at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:238\n                generate at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:151\n         generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:56\n                    each at org/jruby/RubyArray.java:1809\n         generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:55\n           install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:323\n                    each at org/jruby/RubyArray.java:1809\n           install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:322\n                 install at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:221\n             install_gem at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:212\n            install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:264\n                    each at org/jruby/RubyArray.java:1809\n            install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:258\n                 execute at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:165\n  invoke_with_build_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command.rb:321\n            process_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:184\n                     run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:148\n                     run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:59\n                  <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/jgem:21\n                    load at org/jruby/RubyKernel.java:1009\n                  <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/gem:4\n                    load at org/jruby/RubyKernel.java:1009\n                  <main> at -e:1\n{code}", "created": "2020-03-25T14:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It seems the default recently changed: before jruby had configured rubygems to not install docs by default, but with the removal of the old {{no-rdoc no-ri}} flags, they decided to switch to having it enabled by default. https://github.com/jruby/jruby/commit/1f653743ae212ca5e0ba88d86d96d6e89563275d We might want to look into just disabling this again, at least temporarily.", "created": "2020-03-25T16:03:00.000000"}, {"author": "623c098ea9575800695ac870", "body": "I just got the same error while installing jruby-ldap on puppetserver-6.12.1-1.el8. Is there a regression?\n{noformat}\n LoadError: load error: rdoc/rdoc -- java.lang.IllegalArgumentException: Neither current working directory (classpath:/puppetserver-lib) nor pathname (rdoc/discover) led to an absolute path\n                  require at org/jruby/RubyKernel.java:974\n                  require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54\n                load_rdoc at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:73\n                    setup at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:238\n                 generate at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:151\n          generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:56\n                     each at org/jruby/RubyArray.java:1809\n          generation_hook at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rdoc/rubygems_hook.rb:55\n            install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:323\n                     each at org/jruby/RubyArray.java:1809\n            install_hooks at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:322\n                  install at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/request_set.rb:221\n              install_gem at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:212\n             install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:264\n                     each at org/jruby/RubyArray.java:1809\n             install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:258\n                  execute at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:165\n   invoke_with_build_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command.rb:321\n             process_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:184\n                      run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:148\n                      run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:59\n                   <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/jgem:21\n                     load at org/jruby/RubyKernel.java:1009\n                   <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/gem:4\n                     load at org/jruby/RubyKernel.java:1009\n                   <main> at -e:1 {noformat}", "created": "2020-08-21T03:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yes. We've filed https://puppet.atlassian.net/browse/SERVER-2763, which has more detail, for fixing it.", "created": "2020-08-21T09:09:00.000000"}], "components": [], "created": "2020-03-18T17:43: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@4339eab5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00jds:"}, {"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": "We updated JRuby to 9.2.11.1, which contained a security fix and an update to RubyGems 3, which requires the use of the `--no-document` flag instead of `--no-ri --no-rdoc` when installing gems."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_27007497_*|*_1_*:*_1_*:*_52447_*|*_10007_*:*_1_*:*_520616009_*|*_3_*:*_1_*:*_490731734_*|*_5_*:*_1_*:*_0"}], "description": "The latest release of JRuby is currently 9.2.11.0, but this ticket is tracking the work of upgrading us to any version past 9.2.8.0.\n\nIn 9.2.9.0, a bug was introduced that affects puppetserver on certain systems, see https://github.com/jruby/jruby/issues/5971. We need to see if we can work around it.\n\nIn 9.2.10.0, they moved to RubyGems 3+. The removal of {{--no-rdoc --no-ri}} in that version means some of our scripts need to change, at minimum.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15436", "fixedVersions": ["SERVER 6.10.0"], "id": "15436", "issueType": "Task", "key": "SERVER-2758", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-03-30T18:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby past 9.2.8.0", "timeSpent": "PT0S", "updated": "2020-08-21T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-03-17T13:26:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ea4c65b"}, {"fieldName": "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": "SERVER-2751"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00h7s:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_962_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_771147629"}], "description": "(Initial planned release date: 2020-03-18)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-03-19T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.9.2 2020-03-18 Release", "estimate": "PT0S", "externalId": "14906", "fixedVersions": [], "id": "14906", "issueType": "Task", "key": "SERVER-2755", "labels": [], "originalEstimate": "PT0S", "parent": "16355", "parentSummary": "Puppet Server 6.9.2 2020-03-18 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-03-26T11:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.9.2)", "timeSpent": "PT0S", "updated": "2020-03-26T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-03-17T13:26:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e80028f"}, {"fieldName": "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": "SERVER-2751"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00h7c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1250_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_89958710"}], "description": "(Initial planned release date: 2020-03-18)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-03-14T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.9.2 2020-03-18 Release", "estimate": "PT0S", "externalId": "17157", "fixedVersions": [], "id": "17157", "issueType": "Task", "key": "SERVER-2754", "labels": [], "originalEstimate": "PT0S", "parent": "16355", "parentSummary": "Puppet Server 6.9.2 2020-03-18 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Won't Do", "resolutionDate": "2020-03-18T14:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.9.2)", "timeSpent": "PT0S", "updated": "2020-03-18T14:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-03-17T13:26:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fbd75"}, {"fieldName": "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": "SERVER-2751"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00h74:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_912_*|*_3_*:*_2_*:*_16847489_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_72421497"}], "description": "(Initial planned release date: 2020-03-18)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-03-14T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.9.2 2020-03-18 Release", "estimate": "PT0S", "externalId": "16891", "fixedVersions": [], "id": "16891", "issueType": "Task", "key": "SERVER-2753", "labels": [], "originalEstimate": "PT0S", "parent": "16355", "parentSummary": "Puppet Server 6.9.2 2020-03-18 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-03-18T14:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.9.2)", "timeSpent": "PT0S", "updated": "2020-03-18T14:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-03-17T13:26:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78213539"}, {"fieldName": "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": "SERVER-2751"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00h6w:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_923_*|*_3_*:*_1_*:*_4639555_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_168813"}], "description": "(Initial planned release date: 2020-03-18)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-03-13T00:00:00.000000", "epicLinkSummary": "Puppet Server 6.9.2 2020-03-18 Release", "estimate": "PT0S", "externalId": "16590", "fixedVersions": [], "id": "16590", "issueType": "Task", "key": "SERVER-2752", "labels": [], "originalEstimate": "PT0S", "parent": "16355", "parentSummary": "Puppet Server 6.9.2 2020-03-18 Release", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-03-17T14:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.9.2)", "timeSpent": "PT0S", "updated": "2020-03-17T14:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-03-17T13:26:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e2eb383"}, {"fieldName": "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": "Puppet Server 6.9.2 2020-03-18 Release"}, {"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": "orange"}, {"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|o00h6o:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4353276269_*|*_6_*:*_1_*:*_0"}], "description": "Puppet Server 6.9.2 2020-03-18 Release\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16355", "fixedVersions": [], "id": "16355", "issueType": "Epic", "key": "SERVER-2751", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-05-06T22:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server 6.9.2 2020-03-18 Release", "timeSpent": "PT0S", "updated": "2020-05-06T22:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "created": "2020-03-12T14:01:00.000000", "name": "log.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10591"}], "comments": [{"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "For the reference, I added the following modules\n\nmod 'camptocamp/augeas', '1.9.0'\nmod 'camptocamp/postfix', '1.10.0'\nmod 'puppet/alternatives', '3.0.0'\n\n", "created": "2020-03-12T14:02:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "At least some explanation would be nice, why it is closed", "created": "2022-03-08T14:46:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-12T13:54: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@10144ab3"}, {"fieldName": "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": "SERVER-2911"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00di8:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20574977432_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_42154397606"}], "description": "*Puppet Version:*\n6.12\n\n*Puppet Server Version:*\n2019.3.0.21-1.el8\n\n*OS Name/Version:*\nCentOS 8\n\nReceived random errors with  puppet_enterprise::master::puppetserver::jruby_puppet_multithreaded: true\nafter feature  environment with new types/providers have been merged into 'production' branch. Several nodes have failed with similar 'not found type' error, but next run was successful.\n\nWill attach stack traces to the ticket\n", "epicLinkSummary": "Multithreaded Fixes", "estimate": "PT0S", "externalId": "16066", "fixedVersions": [], "id": "16066", "issueType": "Bug", "key": "SERVER-2750", "labels": [], "originalEstimate": "PT0S", "parent": "17234", "parentSummary": "Multithreaded Fixes", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "random 'Unknown resource type' errors when using multithread jruby", "timeSpent": "PT0S", "updated": "2022-03-08T14:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5e29fa0d006fae0ca233fd0d", "body": "So I think that the issue is with file permission. conf.d directory is owned by root with 751 permission. the service is run as puppet user. I have change the file permission to 755. it did not work. But run the service as root user works fine. The service will start up initially, but restart subsequently will not work.\u00a0", "created": "2020-03-09T08:07:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is this still an issue for you?", "created": "2020-11-05T16:51:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing this due to inactivity. Please reopen if you're still having issues.", "created": "2020-11-16T12:30:00.000000"}], "components": ["Puppet Server"], "created": "2020-03-09T06:47:00.000000", "creator": "5e29fa0d006fae0ca233fd0d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@308d0351"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o00a9s:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21797013286_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.13.0*\n *Puppet Server Version:6.9.0*\n *OS Name/Version:ubuntu 18.04*\n\nafter restarting puppet server, puppet server will not be able to start properly. It keeps complain about\n\n*Execution error (FileNotFoundException) at puppetlabs.trapperkeeper.config/get-files-from-config (config.clj:82).*\n\nand will not start up correctly.\u00a0\n\nafter puppet server installed and comes up correctly. run sudo service puppetserver restart\n\nor run\n\nsudo puppet resource service puppetserver ensure=running\n\nyou will get the error message from the\n\nsudo puppet resource service puppetserver ensure=running\n\nI do not see the same behavior for puppet server 6.7.2 on ubuntu 16.04.\u00a0\n\n*Desired Behavior:*\n\n*should restart correctly.*\u00a0\n\n*Actual Behavior:*\n\n*puppet server will not start correctly.*\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17156", "fixedVersions": [], "id": "17156", "issueType": "Bug", "key": "SERVER-2749", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e29fa0d006fae0ca233fd0d", "resolution": "Cannot Reproduce", "resolutionDate": "2020-11-16T12:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet server 6.9.0 complain about conf.d when restarting. ", "timeSpent": "PT0S", "updated": "2020-11-16T12:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:40:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61f9a9d3"}, {"fieldName": "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-10336"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00620:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_977_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2044708294"}], "description": "(Initial planned release date: 2020-03-10)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-03-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "15756", "fixedVersions": [], "id": "15756", "issueType": "Task", "key": "SERVER-2748", "labels": [], "originalEstimate": "PT0S", "parent": "27583", "parentSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-26T11:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 5.3.12)", "timeSpent": "PT0S", "updated": "2020-03-26T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:40:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3936b936"}, {"fieldName": "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-10336"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0061k:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1009_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_339944880"}], "description": "(Initial planned release date: 2020-03-10)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-03-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "15220", "fixedVersions": [], "id": "15220", "issueType": "Task", "key": "SERVER-2747", "labels": [], "originalEstimate": "PT0S", "parent": "27583", "parentSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 5.3.12)", "timeSpent": "PT0S", "updated": "2020-03-06T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:40:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7816a6bf"}, {"fieldName": "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-10336"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0061c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1065_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_339960465"}], "description": "(Initial planned release date: 2020-03-10)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-03-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "14904", "fixedVersions": [], "id": "14904", "issueType": "Task", "key": "SERVER-2746", "labels": [], "originalEstimate": "PT0S", "parent": "27583", "parentSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.12)", "timeSpent": "PT0S", "updated": "2020-03-06T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:40:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@587ec3e1"}, {"fieldName": "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-10336"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o00614:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1024_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_339935616"}], "description": "(Initial planned release date: 2020-03-10)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-03-05T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "17507", "fixedVersions": [], "id": "17507", "issueType": "Task", "key": "SERVER-2745", "labels": [], "originalEstimate": "PT0S", "parent": "27583", "parentSummary": "Puppet Platform 5.5.19 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.12)", "timeSpent": "PT0S", "updated": "2020-03-06T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:33:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73bd353b"}, {"fieldName": "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-10326"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o005ug:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1117_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2045067156"}], "description": "(Initial planned release date: 2020-03-10)\n\n* If this release was part of a PE release, re-enable FOSS promotions once that release is ready to ship. Note: while it might be reasonable to re-enable these after PE's stop-ship, oftentimes additional last minute things need to land in pe-pse or pe-puppetserver, which gets complicated if untagged versions of puppetserver have promoted. So for now, we usually wait until after the window for such emergency changes has ended.\n* Update [winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-03-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "17505", "fixedVersions": [], "id": "17505", "issueType": "Task", "key": "SERVER-2744", "labels": [], "originalEstimate": "PT0S", "parent": "23353", "parentSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-26T11:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update winston, re-enable promotions when appropriate (Puppet Server 6.9.1)", "timeSpent": "PT0S", "updated": "2020-03-26T11:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:33:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@22b9c1ec"}, {"fieldName": "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-10326"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o005u0:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_971_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_340314337"}], "description": "(Initial planned release date: 2020-03-10)\n\nIf this release is destined to go out in a PE release, disable promotions between puppetserver and pe-puppet-server-extensions once the tag has promoted. This ensures that the puppetserver tag will ship in PE, while allowing work to continue on the FOSS branch.\n", "duedate": "2020-03-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "16886", "fixedVersions": [], "id": "16886", "issueType": "Task", "key": "SERVER-2743", "labels": [], "originalEstimate": "PT0S", "parent": "23353", "parentSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable promotions (Puppet Server 6.9.1)", "timeSpent": "PT0S", "updated": "2020-03-06T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:33:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2464ca32"}, {"fieldName": "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-10326"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o005ts:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1074_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_340298183"}], "description": "(Initial planned release date: 2020-03-10)\n\n* Ensure the candidate SHA has passed all applicable testing and has promoted to the appropriate PE branch.\n* Run the release pipeline for the maintenance branch being released from. This pipeline currently starts with \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically build, stage, and promote into PE.\n* Verify tagged release version is built, tested, and artifacts exist at builds.delivery.puppetlabs.net.\n* NOTE - Docker pipelines will fail between when a tag is pushed and that tag becomes publicly available for download!!\n", "duedate": "2020-03-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "16589", "fixedVersions": [], "id": "16589", "issueType": "Task", "key": "SERVER-2742", "labels": [], "originalEstimate": "PT0S", "parent": "23353", "parentSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.9.1)", "timeSpent": "PT0S", "updated": "2020-03-06T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-03-02T18:33:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3e6a3768"}, {"fieldName": "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-10326"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o005tk:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_965_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_340284636"}], "description": "(Initial planned release date: 2020-03-10)\n\n* Once the scope of the release has been confirmed and the correct SemVer version known, ensure the [Versions and Dependencies page|https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies] in Confluence is up to date.\n\n* Merge up and/or down as required.\n  ** Outstanding changes from z branches should be merged up to master. Outstanding changes from \"older\" branches should be merged up through the branch to be released (e.g. 2.6.x -> 5.3.x if applicable).\n  ** Any changes that have been resolved in \"newer\" branches but need to be pulled down to the release branch should be cherry-picked (e.g. backports to an LTS branch).\n  ** This typically will have been done already, when the original changes went in, but good to double-check.\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch to reconcile JIRA ticket states with commit messages since the last release.\n  ** Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n  ** Run ticketmatch in the puppet repo WITH the team 'Froyo'\n\n* Follow up with any reported problematic areas:\n  ** Git commits in Jira: ensure these issues have the appropriate fix version and team or confirm that they are WIP and not targeted for the current release.\n  ** Unresolved Jira tickets not in git commits: retarget these issues for the appropriate release and notify stakeholders.\n  ** Unresolved Jira tickets found in git commits: ensure these issues have gone through CI and resolve them.\n  ** Tickets missing release notes: add release notes to these issues or mark 'Not Needed'.\n\n* Once a release candidate has been determined, tell the puppet-agent release lead what puppetserver ref to test with (either the tag or, if we're running behind, the SHA we plan to tag).\n", "duedate": "2020-03-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "estimate": "PT0S", "externalId": "16354", "fixedVersions": [], "id": "16354", "issueType": "Task", "key": "SERVER-2741", "labels": [], "originalEstimate": "PT0S", "parent": "23353", "parentSummary": "Puppet Platform 6.14.0 Release - 2020-03-10\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2020-03-06T17:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.9.1)", "timeSpent": "PT0S", "updated": "2020-03-06T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "If we have to block startup to do this I think we should probably consider providing this as a separate utility.  I don't want to add time to startup.  \n\nI suppose unless ( as bullet 5 is supposed to assess ) we see that this only takes a few seconds.  We'd want to know how long on avg-size as well as say a really large 150K entry CRL ( just to make sure it's linear ) ", "created": "2020-08-17T19:03:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] will break this ticket into smaller pieces for the intern.", "created": "2021-06-04T12:23:00.000000"}], "components": [], "created": "2020-02-27T14:40: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@79628c37"}, {"fieldName": "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": "SERVER-2998"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694a92i"}, {"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 subcommand 'prune' is implemented for Puppetserver's CA CLI tool.  This subcommand allows the user to deduplicate revoked certificates on CRL that is issued by Puppet's CA certificate."}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_1098764727_*|*_1_*:*_1_*:*_298893_*|*_10007_*:*_2_*:*_270923017_*|*_3_*:*_2_*:*_954708153_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_41020597880_*|*_10005_*:*_2_*:*_1991299987"}], "description": "Puppet's CRL is prone to duplicate entries. We should add a command to the CA CLI that will deduplicate the CRL, only to be run when the server is offline. (This should go in both PE streams)\n\n*Outcomes*\n* New command in the CA CLI gem to deduplicate the CRL - check in with UX about whatever command syntax we come up with to make sure it's user-friendly.\n* Include debug output for what is being purged.\n* Check performance for a large CRL with many duplicates (see comments in SERVER-2509). Should not be \"unreasonably\" slow.\n", "epicLinkSummary": "Fix duplicate entries in CRLs", "estimate": "PT0S", "externalId": "16353", "fixedVersions": ["SERVER 6.17.0", "SERVER 7.3.0"], "id": "16353", "issueType": "New Feature", "key": "SERVER-2740", "labels": ["docs-reviewed", "froyo_intern"], "originalEstimate": "PT0S", "parent": "15171", "parentSummary": "Fix duplicate entries in CRLs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Done", "resolutionDate": "2021-08-05T09:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Prune duplicate entries from CRL", "timeSpent": "PT0S", "updated": "2021-08-05T09:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2020-02-27T08:41:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1abb80d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0043c:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21702423_*|*_3_*:*_1_*:*_419005020_*|*_5_*:*_1_*:*_0"}], "description": "Puppetserver 6.9.0 was released last week but I can't find an image at [https://hub.docker.com/r/puppet/puppetserver/tags.]\n\n\u00a0\n\nCould you please create one? :)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14902", "fixedVersions": [], "id": "14902", "issueType": "Bug", "key": "SERVER-2739", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "resolution": "Fixed", "resolutionDate": "2020-03-03T11:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet/puppserver:6.9.0 docker image missing", "timeSpent": "PT0S", "updated": "2020-03-23T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "If you are a PE customer, you should file this with PE Support.\u00a0\n\nUnable to reproduce via:\n{code:java}\n[root@pe-201913-master ~]# puppetserver gem install faraday\n[root@pe-201913-master ~]# puppetserver gem install faraday -v 0.9.0\n\n[root@pe-201913-master ~]# puppetserver gem list faraday\n*** LOCAL GEMS ***\nfaraday (1.0.0, 0.9.0)\n\n[root@pe-201913-master ~]# cat /etc/puppetlabs/code/environments/production/manifests/site.pp \nFile { backup => false }\nnode 'pe-201913-master.example.com' {\n\u00a0 package { 'faraday':\n\u00a0 \u00a0 ensure \u00a0 => present,\n\u00a0 \u00a0 provider => puppetserver_gem,\n\u00a0 }\n}\n\n[root@pe-201913-master ~]# service pe-puppetserver restart\n\n[root@pe-201913-master ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nInfo: Caching catalog for pe-201913-master.puppetdebug.vlan\nInfo: Applying configuration version '1582743347'\nNotice: Applied catalog in 14.26 seconds\n\n[root@pe-201913-master ~]# ll /opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/\ntotal 0\ndrwxr-xr-x. 5 root root 192 Feb 26 18:50 faraday-0.9.0\ndrwxr-xr-x. 5 root root 136 Feb 26 18:37 faraday-1.0.0\ndrwxr-xr-x. 4 root root 229 Feb 26 18:37 multipart-post-2.1.1\n\n[root@pe-201913-master ~]# ll /opt/puppetlabs/server/data/puppetserver/jruby-gems/specifications/\ntotal 12\n-rw-r--r--. 1 root root 1228 Feb 26 18:50 faraday-0.9.0.gemspec\n-rw-r--r--. 1 root root 1475 Feb 26 18:37 faraday-1.0.0.gemspec\n-rw-r--r--. 1 root root 1652 Feb 26 18:37 multipart-post-2.1.1.gemspec{code}\n\u00a0\n\nNote the restart of the Puppet Server service, which was not necessary, but tested anyway.", "created": "2020-02-26T12:06:00.000000"}, {"author": "5bbc9e3e53dc9c5087edefc2", "body": "Hey [~accountid:557058:ea8d8852-0291-4b62-9047-0e4b235efa5d]\u00a0\n\nThe\u00a0 gem is being used by a custom function in a custom module. \n The error is seen on one compile master, when the agent runs on it, but the gem is installed on both the compile master and the master of master.\u00a0\n\nPerhaps I can reproduce this while you or somebody watches on a screen share?\n\n\u00a0\n\nThanks\n\nJames\n\n\u00a0", "created": "2020-03-03T01:44:00.000000"}, {"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "Hello James,\n\nI am on a family leave until next week.\n\nIn any case, please follow up via\nhttps://puppetlabs.zendesk.com/tickets/38298\n\nTom\n-- \nTom Kishel\n\nPrincipal Support Engineer\nPuppet. The shortest path to better software.\n", "created": "2020-03-03T18:04:00.000000"}, {"author": "5bbc9e3e53dc9c5087edefc2", "body": "So I had another wack at this. And resolved the issue. I hope you are all staying safe and healthy!\u00a0", "created": "2020-03-18T12:56:00.000000"}, {"author": "5bbc9e3e53dc9c5087edefc2", "body": "You can close this ticket.", "created": "2020-03-18T12:57:00.000000"}, {"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "We will close, but if you could update this with your solution, it will help others.\nThanks, James.", "created": "2020-03-20T16:16:00.000000"}], "components": ["Puppet Server"], "created": "2020-02-26T05:49:00.000000", "creator": "5bbc9e3e53dc9c5087edefc2", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3294fa0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "SLES 12 (x86_64)"}, {"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|o0033k:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2021197785_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.0.10*\n *Puppet Server Version: 6.0.10*\n *OS Name/Version: SLES 12 SP4*\n\nRunning puppet agent -t on a newly configured compile master puppet agent reports the error\n\n```\n\nfrup9386:/home/unixad # puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- faraday\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n\n```\n\nHowever the gem in question is installed on both the compiler and the Master in question.\n\nfrup7682:/tmp/testing-codemanager # puppetserver gem list\n\n*** LOCAL GEMS ***\n\ncolumnize (0.9.0)\ndeep_merge (1.0.1)\ndid_you_mean (default: 1.0.1)\nfacter (2.5.4)\nfaraday (1.0.0, 0.9.0)\nfast_gettext (1.1.2)\ngettext (3.2.2)\nhiera-eyaml (3.0.0, 2.1.0)\nhighline (1.6.21)\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16588", "fixedVersions": [], "id": "16588", "issueType": "Bug", "key": "SERVER-2738", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5bbc9e3e53dc9c5087edefc2", "resolution": "Done", "resolutionDate": "2020-03-20T16:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ruby gem faraday fails to load error on compile master", "timeSpent": "PT0S", "updated": "2020-03-20T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is this still an issue for you?", "created": "2020-11-05T16:11:00.000000"}, {"author": "557058:0605a129-ce49-46e3-912d-378334931850", "body": ">   Is this still an issue for you?\n\nNo this has been resolved.\n\n-- \nZach", "created": "2020-11-06T21:23:00.000000"}], "components": [], "created": "2020-02-17T17:14:00.000000", "creator": "557058:0605a129-ce49-46e3-912d-378334931850", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14911094"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|i005nb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22974737145_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.12.0*\n *Puppet Server Version: 6.8.0*\n *OS Name/Version: FreeBSD 12.1-RELEASE*\n\nIt appears that after I've upgraded to a newer puppetserver version, the server is unable to start.\u00a0 Before the upgrade, restarts of the daemon have been reliable, and if I revert the disk of the container to pre-upgrade, the daemon starts with 6.7.2 without issue.\u00a0 Its possible some other environmental condition causes the failure, but in any case, could I ask for some pointers as to what it might be?\n\n*Desired Behavior:*\n\n*puppetserver foreground doesn't die*\n\n*Actual Behavior:*\n\n\u00a0\n{code:java}\n2020-02-17T16:05:38.685-08:00 DEBUG [async-dispatch-2] [p.s.c.puppet-server-config-service] Initializing with the following settings from core Puppet:\n{:keylength 4096,\n :ca-name \"Puppet CA: pm13.l.larch.space\",\n :hostcrl \"/var/puppet/ssl/crl.pem\",\n :hostprivkey \"/var/puppet/ssl/private_keys/pm13.l.larch.space.pem\",\n :csrdir \"/var/puppet/ssl/ca/requests\",\n :capub \"/var/puppet/ssl/ca/ca_pub.pem\",\n :hostcert \"/var/puppet/ssl/certs/pm13.l.larch.space.pem\",\n :requestdir \"/var/puppet/ssl/certificate_requests\",\n :ssl-client-verify-header \"HTTP_X_CLIENT_VERIFY\",\n :dns-alt-names\n \"pm13.l.larch.space,puppet.larch.space,puppet.l.larch.space,puppetca.l.larch.space\",\n :puppet-version \"6.12.0\",\n :cacert \"/var/puppet/ssl/ca/ca_crt.pem\",\n :localcacert \"/var/puppet/ssl/certs/ca.pem\",\n :autosign \"/usr/local/etc/puppet/autosign.conf\",\n :csr-attributes \"/usr/local/etc/puppet/csr_attributes.yaml\",\n :privatekeydir \"/var/puppet/ssl/private_keys\",\n :trusted-oid-mapping-file\n \"/usr/local/etc/puppet/custom_trusted_oid_mapping.yaml\",\n :ca-ttl 157680000,\n :cakey \"/var/puppet/ssl/ca/ca_key.pem\",\n :cacrl \"/var/puppet/ssl/ca/ca_crl.pem\",\n :serial \"/var/puppet/ssl/ca/serial\",\n :manage-internal-file-permissions true,\n :certdir \"/var/puppet/ssl/certs\",\n :codedir \"/usr/local/etc/puppet/code\",\n :cert-inventory \"/var/puppet/ssl/ca/inventory.txt\",\n :hostpubkey \"/var/puppet/ssl/public_keys/pm13.l.larch.space.pem\",\n :ssl-client-header \"HTTP_X_CLIENT_DN\",\n :certname \"pm13.l.larch.space\",\n :signeddir \"/var/puppet/ssl/ca/signed\",\n :allow-duplicate-certs false}2020-02-17T16:05:38.685-08:00 INFO  [async-dispatch-2] [p.s.c.puppet-server-config-core] Initializing webserver settings from core Puppet\n2020-02-17T16:05:38.689-08:00 DEBUG [async-dispatch-2] [p.t.internal] Finished running lifecycle function 'init' for service ':PuppetServerConfigService'\n2020-02-17T16:05:38.689-08:00 DEBUG [async-dispatch-2] [p.t.internal] Running lifecycle function 'init' for service ':AnalyticsService'\n2020-02-17T16:05:38.690-08:00 DEBUG [async-dispatch-2] [p.t.internal] Finished running lifecycle function 'init' for service ':AnalyticsService'\n2020-02-17T16:05:38.691-08:00 DEBUG [async-dispatch-2] [p.t.internal] Running lifecycle function 'init' for service ':CaService'\n2020-02-17T16:05:38.696-08:00 DEBUG [async-dispatch-2] [p.p.certificate-authority] No custom OID mapping configuration file found at /usr/local/etc/puppet/custom_trusted_oid_mapping.yaml, custom OID mappings will not be loaded\n2020-02-17T16:05:38.702-08:00 ERROR [async-dispatch-2] [p.t.internal] Error during service init!!!\njava.lang.UnsatisfiedLinkError: sun.nio.fs.LinuxWatchService.inotifyInit()I\n\tat sun.nio.fs.LinuxWatchService.inotifyInit(Native Method)\n\tat sun.nio.fs.LinuxWatchService.<init>(LinuxWatchService.java:59)\n\tat sun.nio.fs.BsdFileSystem.newWatchService(BsdFileSystem.java:51)\n\tat puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core$create_watcher.invokeStatic(filesystem_watch_core.clj:97)\n\tat puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core$create_watcher.invoke(filesystem_watch_core.clj:91)\n\tat puppetlabs.trapperkeeper.services.watcher.filesystem_watch_service$reify__27996$service_fnk__5004__auto___positional$reify__28003.create_watcher(filesystem_watch_service.clj:34)\n\tat puppetlabs.trapperkeeper.services.protocols.filesystem_watch_service$fn__27753$G__27749__27757.invoke(filesystem_watch_service.clj:43)\n\tat puppetlabs.trapperkeeper.services.protocols.filesystem_watch_service$fn__27753$G__27748__27762.invoke(filesystem_watch_service.clj:43)\n\tat clojure.core$partial$fn__5839.invoke(core.clj:2624)\n\tat puppetlabs.services.ca.certificate_authority_service$reify__42998$service_fnk__5004__auto___positional$reify__43013.init(certificate_authority_service.clj:34)\n\tat puppetlabs.trapperkeeper.services$fn__4828$G__4820__4831.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.services$fn__4828$G__4819__4835.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.internal$fn__14573$run_lifecycle_fn_BANG___14580$fn__14581.invoke(internal.clj:196)\n\tat puppetlabs.trapperkeeper.internal$fn__14573$run_lifecycle_fn_BANG___14580.invoke(internal.clj:179)\n\tat puppetlabs.trapperkeeper.internal$fn__14602$run_lifecycle_fns__14607$fn__14608.invoke(internal.clj:229)\n\tat puppetlabs.trapperkeeper.internal$fn__14602$run_lifecycle_fns__14607.invoke(internal.clj:206)\n\tat puppetlabs.trapperkeeper.internal$fn__15176$build_app_STAR___15185$fn$reify__15197.init(internal.clj:581)\n\tat puppetlabs.trapperkeeper.internal$fn__15224$boot_services_for_app_STAR__STAR___15231$fn__15232$fn__15234.invoke(internal.clj:609)\n\tat puppetlabs.trapperkeeper.internal$fn__15224$boot_services_for_app_STAR__STAR___15231$fn__15232.invoke(internal.clj:608)\n\tat puppetlabs.trapperkeeper.internal$fn__15224$boot_services_for_app_STAR__STAR___15231.invoke(internal.clj:602)\n\tat clojure.core$partial$fn__5841.invoke(core.clj:2630)\n\tat puppetlabs.trapperkeeper.internal$fn__14647$initialize_lifecycle_worker__14658$fn__14659$fn__14809$state_machine__11805__auto____14834$fn__14837.invoke(internal.clj:249)\n\tat puppetlabs.trapperkeeper.internal$fn__14647$initialize_lifecycle_worker__14658$fn__14659$fn__14809$state_machine__11805__auto____14834.invoke(internal.clj:249)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:973)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:972)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:977)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:975)\n\tat clojure.core.async$ioc_alts_BANG_$fn__12020.invoke(async.clj:384)\n\tat clojure.core.async$do_alts$fn__11960$fn__11963.invoke(async.clj:253)\n\tat clojure.core.async.impl.channels.ManyToManyChannel$fn__6624$fn__6625.invoke(channels.clj:95)\n\tat clojure.lang.AFn.run(AFn.java:22)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n2020-02-17T16:05:38.703-08:00 DEBUG [async-dispatch-2] [p.t.internal] Lifecycle worker completed :boot lifecycle task; awaiting next task.\n{code}\n\n**\n\nIf the above is insufficient, please let me know what else is useful.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16065", "fixedVersions": [], "id": "16065", "issueType": "Bug", "key": "SERVER-2737", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:0605a129-ce49-46e3-912d-378334931850", "resolution": "Fixed", "resolutionDate": "2020-11-09T15:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver unable to start after upgrade to 6.8.0", "timeSpent": "PT0S", "updated": "2020-11-09T15:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-02-14T16:12:00.000000", "creator": "557058:6710b319-779a-49c9-b66f-f584a24dab53", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73b9e029"}, {"fieldName": "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-4"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Server CA CLI v2"}, {"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_blue"}, {"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|hylkkc:0019k"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_85081043338_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16352", "fixedVersions": [], "id": "16352", "issueType": "Epic", "key": "SERVER-2736", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6710b319-779a-49c9-b66f-f584a24dab53", "resolution": "Won't Do", "resolutionDate": "2022-10-26T10:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Server CA CLI v2", "timeSpent": "PT0S", "updated": "2022-10-26T10:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "wip PR before I created the ticket here: https://github.com/puppetlabs/puppetlabs-stdlib/pull/1087", "created": "2020-02-13T16:10:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T11:16:00.000000"}], "components": [], "created": "2020-02-13T16:10: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@75acd2c7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|i004pz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Mar/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7325_*|*_3_*:*_1_*:*_15787110972_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_49340854328"}], "description": "There are three functions in standard lib that need JSON parsing. They actually use Puppet's PSON parser to parse this JSON because 11 years ago a JSON library wasn't included in Ruby's standard library. This has changed since then and PSON parsing is, anecdotally, drastically slower than JSON parsing. These functions should move to using Puppet's JSON util (which should select the best JSON parser for the platform). While we're there we should move them from Puppet's 3x function interface to Puppet's 4x function interface.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16280", "fixedVersions": [], "id": "16280", "issueType": "Improvement", "key": "SERVER-2735", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move stdlib functions that use PSON to use JSON if possible", "timeSpent": "PT0S", "updated": "2022-03-08T11:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2020-02-13T09:19: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@69257956"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|i004e7:"}, {"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_*:*_14011204_*|*_1_*:*_1_*:*_12602_*|*_10007_*:*_1_*:*_11301940_*|*_5_*:*_1_*:*_0"}], "description": "With the switch to Java 11, some type inference and Java class loading in Clojure got more particular about ambiguous types. A new one of these errors recently cropped up in tk-jetty9: https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/cc37079b473925283380449ef6749a506d5cc89b/src/puppetlabs/trapperkeeper/services/webserver/jetty9_core.clj#L740 that prevents the server from reloading in certain circumstances (e.g. when enabling file-sync). This seems to be fixed by adding a type annotation to the arg to {{Resource/newResource}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17504", "fixedVersions": ["SERVER 6.9.0"], "id": "17504", "issueType": "Improvement", "key": "SERVER-2734", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-02-13T16:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ambiguous method call in tk-jetty9", "timeSpent": "PT0S", "updated": "2020-02-13T16:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-02-06T11:55:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5abdef12"}, {"fieldName": "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-10274"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzz2v:"}, {"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_*:*_963_*|*_10007_*:*_1_*:*_1181718_*|*_3_*:*_1_*:*_1046987_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1034008826"}], "description": "(Initial planned release date: 2020-02-18)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-02-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "estimate": "PT0S", "externalId": "15076", "fixedVersions": ["None"], "id": "15076", "issueType": "Task", "key": "SERVER-2733", "labels": [], "originalEstimate": "PT0S", "parent": "25486", "parentSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2020-02-18T11:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.9.0)", "timeSpent": "PT0S", "updated": "2020-02-18T11:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "note to self: promote pe-puppetserver containing 6.9.0 into 2019.4.0-release branch on Tuesday", "created": "2020-02-14T18:42:00.000000"}], "components": [], "created": "2020-02-06T11:55:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a49b502"}, {"fieldName": "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-10274"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzz2f:"}, {"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": "15/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337192689_*|*_1_*:*_1_*:*_950_*|*_3_*:*_1_*:*_809971_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_714778291"}], "description": "(Initial planned release date: 2020-02-18)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2020-02-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "estimate": "PT0S", "externalId": "17502", "fixedVersions": ["None"], "id": "17502", "issueType": "Task", "key": "SERVER-2732", "labels": [], "originalEstimate": "PT0S", "parent": "25486", "parentSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2020-02-18T16:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.9.0)", "timeSpent": "PT0S", "updated": "2020-02-18T16:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-02-06T11:55:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71f9b40b"}, {"fieldName": "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-10274"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzz27:"}, {"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_*:*_1015_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_623213887"}], "description": "(Initial planned release date: 2020-02-18)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2020-02-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "estimate": "PT0S", "externalId": "17155", "fixedVersions": ["None"], "id": "17155", "issueType": "Task", "key": "SERVER-2731", "labels": [], "originalEstimate": "PT0S", "parent": "25486", "parentSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2020-02-13T17:02:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.9.0)", "timeSpent": "PT0S", "updated": "2020-02-18T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "{code:java}\nmolly.waggett@molly:~/puppet-projects/puppetserver(master\ud83d\udc4c ) $ ruby ../ticketmatch/ticketmatch.rb --from 6.8.0 --to 6.9.0 --project SERVER --version \"SERVER 6.9.0\"\n(Optional) Enter JIRA team name:\n** DOCS\n    a895bd73  determine -> determines in ca ttl note\n** MAINT\n    2b97a16b  Condition calls to new method/arity in Puppet\n    72cc09c2  update puppet submodule version and agent pin\n    9a66ff78  update puppet submodule version and agent pin\n    c2d70316  update puppet submodule version and agent pin\n    e4478fad  update puppet submodule version and agent pin\n    453e0cfd  update puppet submodule version and agent pin\n    39a03fe5  update puppet submodule version and agent pin\n    b8b4d820  update puppet submodule version and agent pin\n    39552027  update puppet submodule version and agent pin\n    cd22bfd5  simplify reading /opt/puppetlabs/server/pe_version\n    ba46f6a7  update puppet submodule version and agent pin\n    e3874b23  update puppet submodule version and agent pin\n    d89c5bc2  update puppet submodule version and agent pin\n    43d36118  update puppet submodule version and agent pin\n    6ae970d6  update puppet submodule version and agent pin\n    fb94f751  update puppet submodule version and agent pin\n    78dc2ecb  update puppet submodule version and agent pin\n    f7f662da  update puppet submodule version and agent pin\n    6fb533ab  update puppet submodule version and agent pin\n    bdd762e2  update puppet submodule version and agent pin\n    dc0c93d7  update puppet submodule version and agent pin\n    df26e0d3  update puppet submodule version and agent pin\n    d3914319  update puppet submodule version and agent pin\n    2b33a945  update puppet submodule version and agent pin\n    c02ab422  missed pdb termini\n    5e6b61ac  missed a few preserved files in the release dockerfile\n    8a8e18e8  Scoping for Docker ARGs is not intuitive\n    422b0bee  update puppet submodule version and agent pin\n    70e2cf57  update puppet submodule version and agent pin\n    477c5d2b  update puppet submodule version and agent pin\n    e6525238  update puppet submodule version and agent pin\n    e9c3dc1b  update puppet submodule version and agent pin\n    9c10f30d  update puppet submodule version and agent pin\n    2b5bd601  Exclude :multithreaded-only tests by default\n    816f5e7b  Reordering broke puppetdb.conf templating\n    6a11ac0b  update puppet submodule version and agent pin\n    244ae003  update puppet submodule version and agent pin\n    f2ac5f2f  Bump version to 6.9.0-SNAPSHOT\n    501cc370  Remove release note about new JRuby pool\n    e8ac8709  update puppet submodule version and agent pin\n    3acb6aed  update puppet submodule version and agent pin\n    149873c9  update puppet submodule version and agent pin\n    346d4307  update puppet submodule version and agent pin\n    527a7963  update puppet submodule version and agent pin\n    339bdf5a  update puppet submodule version and agent pin\n    b95c1b5f  update puppet submodule version and agent pin\n    880829c3  Remove unused args\n    0d7f6c00  update puppet submodule version and agent pin\n    23d1a8aa  Update the resource api to latest tag\n    e45d9f52  update puppet submodule version and agent pin\n    082f4513  update puppet submodule version and agent pin\n    86571473  update puppet submodule version and agent pin\n    76f05527  update puppet submodule version and agent pin\n    06ee4d37  update puppet submodule version and agent pin\n** PUP-10222\n    5a186377  Add test case for looking up class params via hiera data\n-- SERVER-2679 (Resolved)\n    71479d52  Bump to clj-parent 4.3.0\n    1c0909e6  Fix borrow and return event logging for ReferencePool\n-- SERVER-2680 (Resolved)\n    8928a8a3  Filter tests that don't work properly with `multithreaded`\n    81d5c73d  Add Travis cells for testing with `multithreaded`\n    6d408ec3  Configure `multithreaded` in tests via env var\n    1411988f  Update Travis test script to allow test filters\n    0783ccd2  Add lein test filter for multithreaded test mode\n-- SERVER-2681 (Resolved)\n    2459629f  Enable metrics tests in multithreaded mode\n    9a0df77a  Remove test that checks instance ids\n-- SERVER-2721 (Resolved)\n    790cc4ff  Explain single-threaded-only test\n    ad7500bf  Add flush API test for multithreaded mode\n-- SERVER-2722 (Resolved)\n    ac213c10  Add ppAuthCertExt to custom_extensions\n-- SERVER-2724 (Resolved)\n    52bcb51b  Add missing `ipaddress6` fact to v4 catalog endpoint\n    1385dab5  set pe_serverversion in set_server_facts\n-- SERVER-2726 (Resolved)\n    1d232f6f  Fixup yardoc descriptions for Puppet::Server::Settings\n    a2f6e890  call RunMode directly\n    78ce733a  Implement thread aware Puppetserver settings\n-- SERVER-2734 (Resolved)\n    5b12cc87  Update clj-parent to 4.3.2\n** UNMARKED\n    9c929549  Version 6.9.0\n    de03d8d5  improve release note for TTL setting\n    08d00ab6  Version 6.8.1-SNAPSHOT\n    54a003d0  6.8.0 release notes\n    86d1bca3  6.3.3 release notes\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.9.0)\nPUP-10222\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n", "created": "2020-02-12T11:31:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "{code:java}\nmolly.waggett@molly:~/puppet-projects/puppet(master\ud83d\udc4c ) $ ruby ../ticketmatch/ticketmatch.rb --from 6.12.0 --to 6.13.0 --project PUP --version \"PUP 6.13.0\" --team \"Froyo\"\n** MAINT\n    093becee2b  Add `spec_order.txt` to .gitignore\n    1dec079601  Update CI badge to point to travis-ci.com\n    47f115a24b  Bump to JRuby 9.2.8.0 in Travis\n    9952edaec9  update facter dependency\n    3040450c4a  simplify reading /opt/puppetlabs/server/pe_version\n    77fd38bd5b  Allow File.read calls\n    60073758fd  document the 'other' set_server_facts\n    9b0aaed016  Adjust OS X versions on acceptance tests\n    3808b005dd  Use memory terminus for facts indirection\n    0fbe127bf2  Reset ca_location between tests\n    98a6f98afe  Ignore X509 purpose during cert verification\n    d871c2d7c5  Lift x509 store's purpose\n    4b5d22d152  Disable tests not working on macOS 10.15\n    a53cb826b5  Delete sync requires\n    9f908ae620  Add flow chart for http client ca service\n    52fb51f8c7  Mark `findgroup` method as private\n    dfa8d6d902  Symbolize group keys and return a hash\n    add8070485  Remove extra whitespace\n    826e6d5690  Fix typo breaking reference chain\n    aa56afde40  remove references to master where we don't need them\n    567699995a  manage params for HTTP REST queries\n    1f056c92b2  Add the ability to (de)serialize multiple objects\n    a0b7f4e122  Update tests to actually not require a master host when running\n** PACKAGING\n    e4a6dc085e  Updating manpage file for master\n    1dd95dd193  Updating manpage file for 6.4.x\n    2b84935f87  Updating manpage file for master\n    da4bea2d26  Updating the puppet.pot file\n    7fb2bf52b5  Updating the puppet.pot file\n    4df9d37cbe  Updating the puppet.pot file\n    9e1892eb92  Updating manpage file for 6.4.x\n    0f0493e479  Updating manpage file for 5.5.x\n    3674d29b41  Updating manpage file for master\n    fc455c7baa  Updating the puppet.pot file\n    4ccb0ec9d0  Updating the puppet.pot file\n    e9294ecf11  Updating the puppet.pot file\n    66b63aebee  Updating manpage file for 6.4.x\n    ef456ef2ca  Updating manpage file for 5.5.x\n    fb0b267f70  Updating manpage file for master\n    0d51222914  Bump to version '6.13.0' [no-promote]\n    8a21558bf7  Updating manpage file for 6.4.x\n    71f8c3de0f  Bump to version '6.4.6' [no-promote]\n    84a838a50c  Updating manpage file for 5.5.x\n    da68897d07  Bump to version '5.5.19' [no-promote]\n-- PUP-10113 (Resolved)\n    f51bc3f441  Exercise chained syntax in type inference benchmark\n    455f08d71d  Speed up method calls and calls to []\n-- PUP-10117 (Resolved)\n    f7ebe313bf  Read passwd and group files once per resource\n-- PUP-10142 (Resolved)\n    a5ae3409bc  Add white space for #initialize_default_settings!\n R  be223e5867  Revert \"(PUP-10142) Add white space for #initialize_default_settings!\"\n    f6672fa8fa  Refactor settings default initialization\n    99c864f5aa  Add flag for global context initialization during settings configuration\n    de0d274515  Allow Puppet settings redefinition\n-- PUP-10145 (Resolved)\n    3485c83c6b  Add puppet service\n    6b9b548d73  Don't allow serialization errors to escape\n    1a1170c83d  Refactor accepted mime types\n-- PUP-10146 (Resolved)\n    b926541d7f  Stream file content response body\n    564f05ec2b  Pass environment to file_metadatas and content\n    c83b25df4b  Add File HTTP Service\n-- PUP-10169 (Resolved)\n    d5604609d7  Generalize forcelocal parameter for user/group\n-- PUP-10171 (Resolved)\n    7a5abec7a0  Add dnfmodule flavor acceptance test\n    8fe3b1f67d  Fix openbsd pkg_info flavor matching\n    575302b499  Support changing package flavors\n-- PUP-10177 (Resolved)\n    6def945eea  Fixes scan_options parsing with array of strings with yum provider\n-- PUP-10218 (Resolved)\n    3f9541c54f  Puppet incorrectly detecting stale pidfile\n-- PUP-10221 (Resolved)\n    d7093e2921  Add missing methods to PObjectTypeExtension\n-- PUP-10223 (Resolved)\n    e4cee83265  Allow node definitions in apply blocks\n-- PUP-10226 (Resolved)\n    48b99eb5b8  URL encode paths in http client\n-- PUP-10227 (Resolved)\n    9b8a2a2291  Preserve expectation for http.finish\n    dc7b92db82  Close the HTTP connection\n-- PUP-10231 (Resolved)\n    8a73d6cdd0  Use EvaluatingParser singleton in PopsBridge\n-- PUP-10232 (Resolved)\n    0021428430  Use HTTP client to resubmit facts\n    b365390ede  Use webmock to test resubmitting facts\n-- PUP-10234 (Resolved)\n    3d48e397a2  Add ppAuthCertExt to custom_extensions\n-- PUP-10236 (Resolved)\n    9d395a4e69  Tag untagged acceptance tests\n** PUP-10238\n    df826baa0e  Change default value of strict_hostname_checking to true\n-- PUP-10241 (Resolved)\n    0a05f66aff  Force UTF-8 encoding on XML plist data\n-- PUP-10246 (Resolved)\n    688779d43c  Use dsimport to set OS X user passwords\n-- PUP-10247 (Accepted)\n    b0b6410bc6  Only try to match strings in file log destination\n-- PUP-10255 (Resolved)\n    7b01ee7f64  Follow symlinks in environment path\n-- PUP-10256 (Resolved)\n    f8b03bab34  Add `versioned_environment_dirs` feature flag\n-- PUP-10263 (Resolved)\n    964d90a968  facter-ng available on all platforms\n-- PUP-10267 (Resolved)\n    69750d3e07  Ensure we've connected to the explicit route\n    1d88c8f90d  Allow routing to a service with an explicit host & port\n    94fba9ed84  Remove extra HEAD request from vcr cassette\n    77b8ba17e4  Require file server paths to be absolute\n    d84a1f7a44  Eliminate need to pass mount and path separately\n    2b15caacaf  Pass block to response read_body\n-- PUP-10287 (Resolved)\n    91fbc026c6  mailalias: comma inside commands fix\n-- PUP-1537 (Resolved)\n    b6ab1697af  add mark property for package\n-- PUP-2820 (Resolved)\n    6dad99e047  Print meaningful disable_warnings error message\n-- PUP-3721 (Resolved)\n    7a92874522  Include provider parameter in puppet resource output\n-- PUP-8900 (Resolved)\n    8075e7ca89  Use HTTP client to upload facts\n    1a00489e8a  Use webmock to test facts upload\n-- PUP-9465 (Resolved)\n    216a2678c1  Implement `manages_members` in groupadd\n-- PUP-9719 (Resolved)\n    2ec4c89073  Fix Administrators Group Windows Permissions\n-- PUP-9750 (Resolved)\n    97c22f175c  optionally add peserverversion to server_facts\n-- PUP-9966 (Resolved)\n    c43950d105  acceptance tests for package gem provider\n    bc282f4ccd  acceptance tests for package gem provider\n    79ccc6b97a  acceptance tests for package gem provider\n** REVERT\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF PUP 6.13.0)\nPUP-10238\nREVERT be223e5867\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n", "created": "2020-02-13T12:19:00.000000"}], "components": [], "created": "2020-02-06T11:55:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ba0f3bd"}, {"fieldName": "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-10274"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzz1z:"}, {"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": "12/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_935_*|*_3_*:*_1_*:*_517913265_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_516045127"}], "description": "(Initial planned release date: 2020-02-18)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    ** (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2020-02-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "estimate": "PT0S", "externalId": "16882", "fixedVersions": ["None"], "id": "16882", "issueType": "Task", "key": "SERVER-2730", "labels": [], "originalEstimate": "PT0S", "parent": "25486", "parentSummary": "Puppet Platform 6.13.0 Release - 2020-02-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2020-02-18T11:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.9.0)", "timeSpent": "PT0S", "updated": "2020-02-18T11:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2020-02-04T22:08:00.000000", "creator": "5e172f67b540b70da8391f73", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ba84998"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzx53:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_23738877877_*|*_6_*:*_1_*:*_0"}], "description": "Add new os support on litmus modules\n\n*Before to start, make sure the new platform is provided by vmpooler and it's fully equipped*\n *an image with the new os is available from puppet agent team*\n\n[Here|https://confluence.puppetlabs.com/display/ECO/How+to+add+support+for+new+platforms] you can find a list with all the converted modules to use litmus\n\nStep1: Using pdksync, check/update metadata.json, ci-job-configs/jenkii/platform/projects/modules-unified.yaml\n\n*metadata.json file*\n - check for section: operatingsystem_support\n - add new version under the intended operatingsystem and save\n\n*[ci-job-configs/jenkii/platform/projects/modules-unified.yaml|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/modules-unified.yaml]*\n - check for the module and add new platform under smoke_platforms| pe_platforms (if this platform was released)\n\nStep2: Using pdksync, create PR with the changes on modules\n Step3: Create PR on [ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/modules-unified.yaml]\n Step4: Deploy experimental platform intended module\n Step5: Run ad-hoc tests using that experimental\n Step6: Check testing results\n Step7: If failures, fix them, re-execute all the testing part until they are green \n Step8: Ask for review/merge\n\n(-) check for vmpooler platform\n (-) pdksync: update metadata.json \n (-) pdksync: push changes, create commit\n (-) create PR on ci-job-configs\n (-) deploy experimental platform intended module\n (-) run tests through ad-hoc jenkins using that experimental\n (-) check testing report\n (-) if failures, fix them, re-execute ad-hoc until they are green\n (-) review/merge PR", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16587", "fixedVersions": [], "id": "16587", "issueType": "Task", "key": "SERVER-2729", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e172f67b540b70da8391f73", "resolution": "Won't Fix", "resolutionDate": "2020-11-05T16:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Module for memory increasing puppetserver", "timeSpent": "PT0S", "updated": "2020-11-05T16:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5e172f67b540b70da8391f73] you'll have better luck joining the puppet slack community slack channel (https://slack.puppet.com/). There is a module for managing puppetserver, see https://github.com/voxpupuli/puppet-puppetserver.", "created": "2020-02-05T10:46:00.000000"}], "components": ["Puppet Server"], "created": "2020-02-04T21:58:00.000000", "creator": "5e172f67b540b70da8391f73", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@615bec6c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzzx4v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_46106257_*|*_6_*:*_1_*:*_0"}], "description": "How to increase puppetserver memory size by using modules\n\nJAVA_ARG =\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16278", "fixedVersions": [], "id": "16278", "issueType": "Bug", "key": "SERVER-2728", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e172f67b540b70da8391f73", "resolution": "Incomplete", "resolutionDate": "2020-02-05T10:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "{brief summary of issue}", "timeSpent": "PT0S", "updated": "2020-02-05T10:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:5b6e0a49a6f4a82a0e7ed384] (or feel free to direct me to a better person to ask) I started looking into this, and the new Facter is currently spitting out a bunch of debug output in our tests.\n{code}\n[2020-02-14 14:04:22.809787 ] DEBUG Facter::FactLoader - Loading internal facts\n[2020-02-14 14:04:22.810567 ] DEBUG Facter::FactLoader - Loading all internal facts\n[2020-02-14 14:04:22.811832 ] DEBUG Facter::FactLoader - Loading external facts\n[2020-02-14 14:04:22.812574 ] DEBUG Facter::FactLoader - Loading custom facts\n[2020-02-14 14:04:22.813247 ] DEBUG Facter::FactLoader - Loading external facts\n[2020-02-14 14:04:22.813987 ] DEBUG Facter::QueryParser - User query is: [\"kernel\"]\n[2020-02-14 14:04:22.814519 ] DEBUG Facter::QueryParser - Query is kernel\n[2020-02-14 14:04:22.815159 ] DEBUG Facter::QueryParser - Checking query tokens kernel\n[2020-02-14 14:04:22.817800 ] DEBUG Facter::QueryParser - List of resolvable facts: [#<Facter::SearchedFact:0x442eaf4a @name=\"kernel\", @fact_class=Facter::Macosx::Kernel, @filter_tokens=[], @type=:core, @user_query=\"kernel\">]\n{code}\nDo you know what might be causing that? Overall we usually use {{warn}}. What is the right way to configure the logging level when using Facter 4 as a library?", "created": "2020-02-14T15:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "However, besides the logging issue, all our tests passed with the new Facter, both single- and multithreaded.", "created": "2020-02-14T16:19:00.000000"}, {"author": "5b6e0a49a6f4a82a0e7ed384", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] I've also noticed that logs were printed. I had a quick look when I ran the tests but could not find the problem quickly. However we are still working on the logging mechanism to make it 1-1 with Facter 3.x. I'll create a ticket\u00a0on our board so we can check it after we finish tasks that are related to logging.", "created": "2020-02-17T06:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This also appears to be having trouble with our Ruby spec tests:\n{code}\n2020-02-18 08:55:45,064 ERROR [main] [puppetserver] Puppet Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: key<resolver_lengths for %<name> not found\norg/jruby/RubyString.java:1247:in `%'\norg/jruby/RubyKernel.java:839:in `sprintf'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/util/fact.rb:176:in `announce_when_no_suitable_resolution'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/util/fact.rb:120:in `block in value'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/util/fact.rb:150:in `searching'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/util/fact.rb:116:in `value'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/util/collection.rb:141:in `value'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/custom_facts/core/legacy_facter.rb:116:in `value'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/framework/core/fact/external/external_fact_manager.rb:20:in `block in external_facts'\norg/jruby/RubyArray.java:1800:in `each'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/framework/core/fact/external/external_fact_manager.rb:19:in `external_facts'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/framework/core/fact/external/external_fact_manager.rb:7:in `resolve_facts'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/framework/core/fact_manager.rb:21:in `resolve_facts'\n/Users/aileen/code/server/puppetserver/ruby/facter/lib/facter.rb:134:in `value'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confine/variable.rb:21:in `facter_value'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confine/variable.rb:57:in `test_value'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confine/variable.rb:45:in `valid?'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confine_collection.rb:49:in `block in valid?'\norg/jruby/RubyEnumerable.java:634:in `detect'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confine_collection.rb:49:in `valid?'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/confiner.rb:44:in `suitable?'\n/Users/aileen/code/server/puppetserver/ruby/puppet/lib/puppet/type.rb:2011:in `block in suitableprovider'\n{code}\n\nAlso:\n{code}\nUnable to add resolve nil for fact processors: Invalid aggregate options [:fact_type]\n[2020-02-18 08:55:29.130284 ] ERROR Module - --define_fact-- not implemented but required\nwith params: [:ec2_metadata]\nwith block: #<Proc:0x2e1c5d1f@/Users/aileen/code/server/puppetserver/vendor/test_bundle/jruby/2.5.0/gems/facter-2.5.7/lib/facter/ec2.rb:20>\n{code}\n\nThese are visible in the Travis output on the associated PR.", "created": "2020-02-18T10:05:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Now that Puppet has been updated to properly pull in Facter 4, we can try this again: https://github.com/puppetlabs/puppetserver/pull/2347", "created": "2020-05-26T09:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It was discovered in PDB integration testing that facts from environment variables do not work properly in Facter 4. So we have to revert this again until that is fixed, see https://puppet.atlassian.net/browse/FACT-2636.", "created": "2020-05-26T15:25:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The bug has been fixed and will be released shortly. We should update our Facter module to pick it up once its out.", "created": "2020-05-27T10:03:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Going to track the update of the submodule to pick up [https://github.com/puppetlabs/facter-ng/pull/537] with FACT-2636. Closing this as done, since we decided to not revert in the\u00a0 meantime.", "created": "2020-05-28T16:26:00.000000"}], "components": [], "created": "2020-02-04T09:36: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@5b6d5617"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zks"}, {"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": "17/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_12344638_*|*_1_*:*_1_*:*_8852_*|*_10007_*:*_2_*:*_98133604_*|*_3_*:*_1_*:*_330258443_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_8052591868_*|*_10006_*:*_2_*:*_1377292862"}], "description": "Now that the development of the new Ruby implementation of Facter (Facter NG) is nearly complete, we should try testing it out in our Facter submodule, and get off Facter 2.\n\nThis will impact our testing and running the server from the REPL.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17154", "fixedVersions": ["SERVER 6.12.0"], "id": "17154", "issueType": "Improvement", "key": "SERVER-2727", "labels": ["ondeck1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-05-28T16:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Start using Facter NG as Puppetserver Facter submodule", "timeSpent": "PT0S", "updated": "2020-05-28T16:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2020-02-03T17:06:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72a0306b"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzw2f:"}, {"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_*:*_415721133_*|*_1_*:*_1_*:*_71020994_*|*_10007_*:*_2_*:*_260637875_*|*_3_*:*_1_*:*_521774562_*|*_5_*:*_1_*:*_0"}], "description": "In the conversation for [this PR|https://github.com/puppetlabs/puppet/pull/7746] it was brought up that Puppet Server should consider having its own thread-aware settings class. This ticket is to track the Puppet Server changes necessary to make that dream come true.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16277", "fixedVersions": ["SERVER 6.9.0"], "id": "16277", "issueType": "Improvement", "key": "SERVER-2726", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Done", "resolutionDate": "2020-02-18T09:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create thread-aware puppetserver puppet settings class", "timeSpent": "PT0S", "updated": "2020-02-18T09:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "One issue is this line in your puppet.conf:\n{code}\nssldir: $vardir/ssl\n{code}\nCurrently, we only support [certain settings|https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/config/puppet.rb#L173-L181] for interpolation with the {{puppetserver ca}} CLI. Unfortunately, {{$vardir}} isn't currently one of them, because normally the SSL files are completely separate from the vardir.\n\nAs a workaround, you can spell out your vardir location in your {{ssldir}} setting. We would also consider accepting a patch to add this, but we're probably not going to fix this internally any time soon, since it's an unusual configuration.\n\nLet me know if that workaround helps!", "created": "2020-02-05T11:12:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing this due to inactivity, please reopen if you're still having issues.", "created": "2021-02-23T16:30:00.000000"}], "components": ["Certificate Authority", "Puppet Server"], "created": "2020-01-30T12:49:00.000000", "creator": "5f9a188662584c006bdfb65f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66c1f1c2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzzslz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2321150260_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_31388124821"}], "description": "*Puppet Version: 6.12.0*\n *Puppet Server Version: 6.8.0*\n *OS Name/Version:\u00a0CentOS Linux release 7.7.1908*\n\nAfter a brand-new install of puppet server using the below steps:\n\n1.\u00a0rpm -Uvh [https://yum.puppet.com/puppet6-release-el-7.noarch.rpm]\n 2. yum install puppetserver glibc\n 3.\u00a0systemctl enable puppetserver\n 4. systemctl enable puppet\n 5. systemctl start puppetserver\n 6. systemctl start puppet\n\n\u00a0\n\nI sign the certificate for one client fine, but then i am unable to perform any action with certificates without getting an error message\n * puppetserver ca list\n * puppetserver ca list --all\n * puppetserver ca sign --certname <FQDN>\n\n\u00a0\n\nI tried deleting all certificates and re-installing puppetserver to no avail\n\n*Desired Behavior:*\n\n\u00a0Able to view/sign certificates\n\n*Actual Behavior:*\n\nCommand Error:\nh5. puppetserver ca list\n\n\nError:\nCould not parse $vardir in $vardir/ssl, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $vardir/ssl/ca, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $vardir/ssl/certs, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $vardir/ssl/private_keys, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $vardir/ssl/public_keys, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/ca_crt.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/ca_key.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/ca_pub.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/root_key.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/ca_crl.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/serial, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/inventory.txt, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $certdir/ca.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $ssldir/crl.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $certdir/$certname.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $privatekeydir/$certname.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $publickeydir/$certname.pem, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\nCould not parse $vardir in $cadir/signed, valid settings to be interpolated are $ssldir, $certdir, $cadir, $certname, $server, or $masterport\n\n\u00a0\nh5. puppetserver Log\nh5. journalctl -x -u puppetserver\n\n\n-- Logs begin at Thu 2020-01-30 11:14:58 MST, end at Thu 2020-01-30 12:35:19 MST. --\nJan 30 11:15:09 z11-admin systemd[1]: Starting puppetserver Service...\n-- Subject: Unit puppetserver.service has begun start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n--\n-- Unit puppetserver.service has begun starting up.\nJan 30 11:15:37 z11-admin systemd[1]: Started puppetserver Service.\n-- Subject: Unit puppetserver.service has finished start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n--\n-- Unit puppetserver.service has finished starting up.\n--\n-- The start-up result is done.\n\n\u00a0\nh5. puppet log\nh5. journalctl -x -u puppet\n\n-- Logs begin at Thu 2020-01-30 11:14:58 MST, end at Thu 2020-01-30 12:37:19 MST. --\nJan 30 11:15:09 <PUPPETSERVER> systemd[1]: Started Puppet agent.\n-- Subject: Unit puppet.service has finished start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n--\n-- Unit puppet.service has finished starting up.\n--\n-- The start-up result is done.\nJan 30 11:15:13 <PUPPETSERVER> puppet-agent[1689]: Request to https://puppet:8140/puppet-ca/v1 failed after 0.005 seconds: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)\nJan 30 11:15:13 <PUPPETSERVER> puppet-agent[1689]: Wrapped exception:\nJan 30 11:15:13 <PUPPETSERVER> puppet-agent[1689]: Failed to open TCP connection to puppet:8140 (Connection refused - connect(2) for \"puppet\" port 8140)\nJan 30 11:15:13 <PUPPETSERVER> puppet-agent[1689]: No more routes to ca\nJan 30 11:17:13 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:19:13 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:21:13 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:23:13 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:25:13 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:27:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:29:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:31:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:33:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:35:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:37:14 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:39:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:41:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:43:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:45:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:47:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:49:15 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:51:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:53:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:55:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:57:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 11:59:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:01:16 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:03:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:05:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:07:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:09:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:11:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:13:17 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:15:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:17:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:19:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:21:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:23:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:25:18 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:27:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:29:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:31:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:33:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:35:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed [unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\nJan 30 12:37:19 <PUPPETSERVER> puppet-agent[1689]: certificate verify failed\u00a0[unable to get local issuer certificate for CN=<PUPPETSERVER_FQDN>]\n\n\u00a0\nh5. cat /etc/puppetlabs/puppet/puppet.conf\n\n[main]\n server = puppet\n environment = production\n runinterval = 3h\n logdir = /var/log/puppet\n rundir = /var/run/puppet\n ssldir = $vardir/ssl\n[agent]\n classfile = $vardir/classes.txt\n localconfig = $vardir/localconfig\n\n\u00a0\nh5. /etc/puppetlabs/puppetserver/conf.d/puppetserver.conf | sed '/^$/d'\n\n\njruby-puppet: {\n ruby-load-path: [/opt/puppetlabs/puppet/lib/ruby/vendor_ruby]\n gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems\n gem-path: [${jruby-puppet.gem-home}, \"/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems\", \"/opt/puppetlabs/puppet/lib/ruby/vendor_gems\"]\n master-conf-dir: /etc/puppetlabs/puppet\n master-code-dir: /etc/puppetlabs/code\n master-var-dir: /opt/puppetlabs/server/data/puppetserver\n master-run-dir: /var/run/puppetlabs/puppetserver\n master-log-dir: /var/log/puppetlabs/puppetserver\n}\nhttp-client: {\n}\nprofiler: {\n}\n\n\u00a0\nh5. grep -v \\# /etc/sysconfig/puppetserver | sed '/^$/d'\n\n\nJAVA_BIN=\"/usr/bin/java\"\nJAVA_ARGS=\"-Xms6g -Xmx6g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\nJAVA_ARGS_CLI=\"${JAVA_ARGS_CLI:-}\"\nTK_ARGS=\"\"\nUSER=\"puppet\"\nGROUP=\"puppet\"\nINSTALL_DIR=\"/opt/puppetlabs/server/apps/puppetserver\"\nCONFIG=\"/etc/puppetlabs/puppetserver/conf.d\"\nBOOTSTRAP_CONFIG=\"/etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/\"\nSERVICE_STOP_RETRIES=60\nSTART_TIMEOUT=300\nRELOAD_TIMEOUT=120", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17501", "fixedVersions": [], "id": "17501", "issueType": "Bug", "key": "SERVER-2725", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5f9a188662584c006bdfb65f", "resolution": "Won't Fix", "resolutionDate": "2021-02-23T16:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Unable to View/Delete/Sign Certs", "timeSpent": "PT0S", "updated": "2021-02-23T16:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-01-29T11:15: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@1591b619"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzzrlj:"}, {"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_*:*_87378420_*|*_1_*:*_1_*:*_1212087623_*|*_10007_*:*_1_*:*_1055502_*|*_3_*:*_1_*:*_8791166_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15004"}], "description": "We added ipaddress6 to the server facts hash in PUP-5109, but the same change needs to be made in the v4 catalog endpoint:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L218-L244]\n\nWe're also adding a {{pe_serverversion}} fact in PUP-9750, so it'd be good to add that the v4 endpoint too.\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17153", "fixedVersions": ["SERVER 6.9.0"], "id": "17153", "issueType": "Bug", "key": "SERVER-2724", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-02-13T14:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Catalog v4 endpoint is missing some server facts", "timeSpent": "PT0S", "updated": "2020-02-13T14:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-01-22T12:33:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e52e91f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl9g:"}, {"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_*:*_13124296_*|*_1_*:*_1_*:*_12034_*|*_10007_*:*_1_*:*_74941759_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1574144851_*|*_10005_*:*_1_*:*_767850927"}], "description": "Since we maintain separate release notes for each active stream, it should be easy to resolve merge conflicts by maintaining the state of the target branch.\n\nScript lives here: https://github.com/puppetlabs/ci-job-configs/blob/master/resources/scripts/puppetserver-mergeup.sh", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15075", "fixedVersions": ["None"], "id": "15075", "issueType": "Task", "key": "SERVER-2723", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2020-02-19T15:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Automate conflict resolution in release notes", "timeSpent": "PT0S", "updated": "2020-02-19T15:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2020-01-21T19:24: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@f7d8aef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_76462486_*|*_1_*:*_1_*:*_574530675_*|*_10007_*:*_1_*:*_5464593_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_8364590"}], "description": "Puppetserver implements its own Certificate class, which needs to be updated to take into account the ppAuthCertExt extension. See PUP-10234 for the corresponding puppet change.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15433", "fixedVersions": ["SERVER 6.9.0"], "id": "15433", "issueType": "Bug", "key": "SERVER-2722", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2020-01-29T12:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add ppAuthCertExt to custom_extensions", "timeSpent": "PT0S", "updated": "2020-03-27T12:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "I'm not sure if the environment flushing test makes sense in multithreaded mode. Because there is only a single jruby instance, any environment context would be shared amongst all workers (threads in this case, since they share the jruby instance).\nAm I understanding this correctly? Is there something else we're testing here that warrants a separate test in multithreaded?", "created": "2020-01-22T12:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "That was kind of my thought too, but I hadn't yet investigated that assumption completely. You might want to take a look at what we did in https://puppet.atlassian.net/browse/PUP-10024 and see whether there's something worth testing, based on how that was implemented.", "created": "2020-01-22T14:00:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "hmm, we could maybe somehow test that things are appropriately locking when something gets cached? thought I'm not sure how to do that / if it makes sense in addition to https://github.com/puppetlabs/puppet/blob/master/spec/unit/concurrent/lock_spec.rb\n\n[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] maybe we could chat about it if there's something I'm missing?", "created": "2020-01-22T15:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ah okay, if we didn't implement anything thread local, then yeah, I think this is tested elsewhere. Let's just add a comment to that test explaining how the behavior doesn't make sense in multithreaded mode.", "created": "2020-01-22T15:27:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "sounds good!", "created": "2020-01-22T15:34:00.000000"}], "components": [], "created": "2020-01-21T10: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@3f8254c1"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykec7:"}, {"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": "22/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_590737011_*|*_1_*:*_1_*:*_8520_*|*_10007_*:*_1_*:*_46582_*|*_3_*:*_1_*:*_16913695_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_88762222"}], "description": "Some tests are verifying behavior in a way that is specific to the JRuby instance pool implementation. These tests do not make sense in multithreaded mode, and need to be audited to either have new versions written or to be confined to single-threaded mode if the behavior they're testing doesn't exist in the new mode.\n\nThese tests are:\n[Environment flushing|https://github.com/puppetlabs/puppetserver/blob/02e20b86e82ec05f5055ccae11c11bfbb1aae5ea/test/integration/puppetlabs/services/jruby/puppet_environments_int_test.clj#L64]\n[Flush API|https://github.com/puppetlabs/puppetserver/blob/02e20b86e82ec05f5055ccae11c11bfbb1aae5ea/test/integration/puppetlabs/services/jruby/jruby_puppet_pool_int_test.clj#L152]\n\nThe metrics tests are being fixed as part of SERVER-2681.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "15754", "fixedVersions": ["SERVER 6.9.0"], "id": "15754", "issueType": "Task", "key": "SERVER-2721", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-01-29T11:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add multithreaded versions of certain tests", "timeSpent": "PT0S", "updated": "2020-01-29T11:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Technically, the barrier to doing this is that Puppet Server's request handling stack isn't set up to easily inject one bit of middleware into a specific route. The request queue limit has to come before the middleware that borrows a JRuby worker. Right now, the easiest way to handle the queue limit is to bundle it with the rest of the JRuby middleware.", "created": "2020-01-21T09:43:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Marking as blocked by PUP-9563 as we should get re-splay working properly and then re-evaluate the impact the queue limit has on agents.", "created": "2020-01-21T09:44:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "One issue with node vs catalog is they are both skipped when agents apply a cached catalog, so the first time the agent connects to the server is when sending the report. Another option might be for agents to always hit the server status endpoint first for both new catalog and cached catalog runs. Doing so would also help confirm that the server supports JSON and compressed content, enabling the agent to send the report compressed in the cached catalog case.", "created": "2020-01-21T10:55:00.000000"}], "components": [], "created": "2020-01-21T09:38:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@621bf552"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91ji"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Jan/20"}], "description": "Right now, {{max-queued-requests}} has a chance to trigger on every API call that ends up borrowing an JRuby. This means a particularly unlucky agent can end up having it's run delayed multiple times.\n\nConsider applying the queue limit to a limited set of API endpoints, such as {{puppet/v3/node}} or {{puppet/v3/catalog}} and {{puppet/v4/catalog}}.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15752", "fixedVersions": [], "id": "15752", "issueType": "Improvement", "key": "SERVER-2720", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Apply max-queued-requests to just one API endpoint", "timeSpent": "PT0S", "updated": "2023-03-05T13:03:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I can't see us doing this any time soon. If that assessment is wrong, or someone has a better idea of the impact and a plan for approaching it, please reopen.", "created": "2022-02-22T16:12:00.000000"}], "components": [], "created": "2020-01-20T15:19:00.000000", "creator": "557058:ecdbe9d7-fd31-4136-80ae-15ac851f87fc", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46176b32"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzk2n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25059758880_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_40952982413"}], "description": "*Puppet Version: 6.x*\n *Puppet Server Version: 6.x*\n *OS Name/Version: CentOS 7*\n\nBased on what I learned from talking to people about PUP-9577, ERB templates seem to have some unfixable performance issues when there are large numbers of facts/variables in scope.\u00a0 The best solution for that case seems to be to switch everything to EPP templates.\u00a0 We can do this, but we run the risk of someone reintroducing an ERB template and bringing back the performance problems.\n\nWhile we can fix this for our internal modules with some static analysis, it becomes very tricky to audit every third party module that gets used (and repeat the full audit for every version update).\n\nI'd like a puppetserver-side setting that will completely disable the `template` function and just throw an error if it's used.\u00a0 We'd much rather cause run failures then kill the performance of puppetserver (run failures are easy to troubleshoot, slow performance is not).\n\nPerhaps part of this would also be to update the docs ->\u00a0[https://puppet.com/docs/puppet/latest/lang_template_erb.html]\u00a0to suggest using EPP templates for any new code (is deprecating ERB templates a possibility?\u00a0 I know that would be massively disruptive to do)\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15074", "fixedVersions": [], "id": "15074", "issueType": "Improvement", "key": "SERVER-2719", "labels": ["ondeck1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ecdbe9d7-fd31-4136-80ae-15ac851f87fc", "resolution": "Won't Do", "resolutionDate": "2022-02-22T16:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add ability to disable ERB templates", "timeSpent": "PT0S", "updated": "2022-02-22T16:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm currently planning to limit this to returning extensions under our ppAuthCert OID arc, since those are the ones controlled by the setting. Would printing others be useful?\n\nThoughts on what form this info should take? Do we want the short name, OID, or both? Do we want to return the value of the extension? What information would be useful and meaningful to users deciding whether to sign the cert? [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] [~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8]", "created": "2020-03-24T17:07:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Limiting to the extension for pp_auth_role makes sense.  \n\nI would just use the short name unless one doesn't exist then fall back to the OID.  I'm not sure about the rest of your questions.  ", "created": "2020-03-25T08:47:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Do you have any docs describing the payload changes?  We currently prevent users from signing certs with alt-names, and it sounds like we would want to prevent something similar when the extensions are present. ", "created": "2020-03-25T09:51:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8] do you block that in the console regardless of how the server is configured? If we're going to do that, i.e. have a separate toggle, maybe console changes aren't needed at this time.", "created": "2020-03-25T09:54:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "We block if there are alt-names.  No logic beyond that currently.  There is messaging about alt-names and why we prevent it, so if there are additional criteria, we might want additional messaging.", "created": "2020-03-25T10:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Okay. This should probably look like things look for alt-names, in the console. So that sounds like signing prevented with a warning. Do you currently display the alt names themselves, or just the warning?\n\nRelated question: do we block that for a reason, or because it simply didn't use to be possible to sign certs with alt names via the API?\n\nThis is mostly in support of signing compiler certs, which are going to start having a special extension on them. Since those nodes already always have alt names, if I'm following, those already can't be signed from the console. So this won't interrupt current workflows. /cc [~accountid:5b50a69a2726b92cd5368cb3]", "created": "2020-03-25T10:14:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "I think it is legacy behavior because of the reason you mention. Currently it just links to \n\nhttps://puppet.com/docs/puppet/6.0/configuration.html#dnsaltnames\n\nwith some messaging.  We could expand it to allow these behaviors and display the alt-names.  [~accountid:5b50a69a2726b92cd5368cb3]  Thoughts?", "created": "2020-03-25T10:28:00.000000"}, {"author": "5b50a69a2726b92cd5368cb3", "body": "I think we should follow the legacy behavior that was mentioned above.\u00a0\n\n[~accountid:5c13fcdd55c77c50912350c8]\u00a0fyi - we will need to look at how this is displayed in the UI. I will create a separate ticket for that work. PE-28662", "created": "2020-03-25T16:24:00.000000"}], "components": [], "created": "2020-01-15T15:00: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@48eb935e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwla7:"}, {"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": "The `GET /certificate_status` endpoint will now return a cert or CSR's authorization extensions in addition to the other info."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Mar/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_171152136_*|*_1_*:*_1_*:*_124151_*|*_10007_*:*_1_*:*_161778061_*|*_3_*:*_1_*:*_522414340_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4854676489_*|*_10005_*:*_1_*:*_1108637137"}], "description": "In order to give users more information about the CSRs they are signing, the {{certificate_status}} API should return the extensions on the CSRs (and certs for good measure) along with other info, similar to what we do with subject alt names.\n\nQuestions: do we want to report only [authorization extensions|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L189-L191] since those are likely to most influence the decision to sign?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16878", "fixedVersions": ["SERVER 6.10.0"], "id": "16878", "issueType": "Task", "key": "SERVER-2718", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-04-03T14:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Send extension information with the `certificate_status` response", "timeSpent": "PT0S", "updated": "2020-04-03T14:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I don't think we're going to get to this any time soon, sorry. I'm going to close it.\n\nBut we'll keep it in mind in case we hear of more demand for something like this. As always, we'll review PRs if someone is feeling adventurous :) ", "created": "2020-12-17T16:44:00.000000"}], "components": [], "created": "2020-01-10T02:54: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@697b9f82"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzec7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_29598600415_*|*_6_*:*_1_*:*_0"}], "description": "Hi,\nmy usecase:\nThe puppetserver CA is used for authentication to a bunch of other services in our environment. One of the tasks that we are faced is to import new certificates to our Vault cluster and to remove revoked certs from it. Currently we check the puppetserver API from time to time for new/revoked certs. This would be easier and better if the puppetserver could notify systems after a certificate got signed/created/revoked.\n\nI could not find anything suitable in the documentation. It would be nice if we could define webhooks or scripts that are executed for the above mentioned actions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16874", "fixedVersions": [], "id": "16874", "issueType": "Improvement", "key": "SERVER-2716", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Won't Do", "resolutionDate": "2020-12-17T16:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Hook support for puppetserver / Puppetserver CA", "timeSpent": "PT0S", "updated": "2020-12-17T16:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2020-01-08T15:49:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4783a00e"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke7j:"}, {"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": "See notes on SERVER-2679."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_70885629_*|*_1_*:*_1_*:*_7646_*|*_10007_*:*_1_*:*_94028318_*|*_3_*:*_1_*:*_429647120_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_125466"}], "description": "In the current world (single threaded, instance pool), we add the jruby instance id to {{@borrowed-instances}} when the instance is borrowed from the pool: https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/jruby/jruby_metrics_core.clj#L255\n\nBecause the multithreaded pool only has a single jruby instance, {{@borrowed-instances}} always only has a single element in it.\nIn multithreaded world, we should track the thread id instead (or maybe additionally?). This will allow us to reason about usage similarly to how we do currently.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "17500", "fixedVersions": ["SERVER 6.8.1"], "id": "17500", "issueType": "Task", "key": "SERVER-2715", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2020-01-15T13:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Report thread id when borrowing from multithreaded pool", "timeSpent": "PT0S", "updated": "2020-01-19T06:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "Just wanted to throw in my +1 for this feature request. Having a Prometheus compatible metrics endpoint would be very useful and make it easier for teams to start monitoring their Puppetserver stacks.\n\nFYI, here's the Prometheus docs page detailing the format it expects metrics to be in:\u00a0[https://prometheus.io/docs/instrumenting/exposition_formats/]", "created": "2020-01-17T14:43:00.000000"}, {"author": "623a4603761efb0069cd34da", "body": "We're also very interested in this as we're starting our migration from Zabbix to Prometheus.", "created": "2020-04-06T07:44:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Prometheus has a [graphite exporter|https://github.com/prometheus/graphite_exporter] which hypothetically would accept graphite directly from puppetserver or better yet from [puppet_metrics_collector|https://github.com/puppetlabs/puppetlabs-puppet_metrics_collector].\n\nI believe I tried this probably 2-3 years ago and it imported most of the metrics by my recollection.  I'd be interested to hear what the problems with that approach are.  ", "created": "2020-04-06T08:59:00.000000"}, {"author": "623a4603761efb0069cd34da", "body": "Hey [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], if we as a community plan to bring Puppet(server) into Kubernetes/cloud native environments it makes sense to have a direct Prometheus metrics endpoint in Puppetserver. That would drop the requirement of running Graphite and Graphite Exporter as a sidecar next to every Puppetserver pod.", "created": "2020-04-07T01:25:00.000000"}, {"author": "623a4d3ba9575800695a006d", "body": "Hi [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100], yes it would be possible to use the graphite exporter, but it is some additional piece of software you have to maintain, update, configure. And a push based protocol like graphite is not what we want.\n\n\u00a0", "created": "2020-04-07T01:44:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:623a4603761efb0069cd34da] I don't think you need a graphite server to use graphite exporter.  I think you just setup each of your puppetservers to push graphite metrics to one instance of the graphite exporter and then prometheus would hit the graphite exporter for metrics.  \n\n[~accountid:623a4d3ba9575800695a006d] I agree having it directly in puppetserver would be better but it's not free to create and maintain.  :) \n\nWe don't have any plans to expand the metrics formats we support for puppetserver at this time.  So I was proposing graphite_exporter as a workaround for the mean time.  If someone thinks it's relatively easy to add the prometheus metrics to puppetserver we'll definitely look over a PR for an experimental endpoint serving up prometheus metrics.  \n\n", "created": "2020-04-07T08:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm going to close this, as it's unlikely we will get to it. If someone in the community would like to look into adding this functionality, we will definitely accept a PR. Feel free to reopen this in that case.", "created": "2020-11-09T15:15:00.000000"}], "components": [], "created": "2020-01-07T04:05:00.000000", "creator": "623a4d3ba9575800695a006d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6654b8b2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzzc3j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26565016492_*|*_6_*:*_1_*:*_0"}], "description": "It would be very helpful if the Puppetserver would expose its metrics as an api endpoint for a Prometheus Server.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17152", "fixedVersions": [], "id": "17152", "issueType": "New Feature", "key": "SERVER-2713", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4d3ba9575800695a006d", "resolution": "Won't Do", "resolutionDate": "2020-11-09T15:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide a Prometheus compatible metrics endpoint", "timeSpent": "PT0S", "updated": "2020-11-09T15:15:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2020-01-02T10:07:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@692b85bb"}, {"fieldName": "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": "Improve CRL Management"}, {"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": "purple"}, {"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|hymq0k:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_68786510360_*|*_6_*:*_1_*:*_0"}], "description": "There are a number of issues around the way the CRL bundle is managed. Some of these are issues with the mechanics of updating it during revocation, some only come into play with an external CA.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16586", "fixedVersions": [], "id": "16586", "issueType": "Epic", "key": "SERVER-2712", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2022-03-08T13:29:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve CRL Management", "timeSpent": "PT0S", "updated": "2022-08-24T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "I can force the openssl command by creating \"demoCA\" and creating \"index.txt\" and \"crlnumber\" files (I assume these are our \"inventory.txt\" and serial\" but the resulting CRL is missing a\u00a0CRL extensions:\u00a0X509v3 Authority Key Identifier.\n\n\u00a0", "created": "2019-12-20T17:11:00.000000"}, {"author": "5b590061a3f8512ca5eb3be7", "body": "[https://forge.puppet.com/m0dular/crl_truncate]", "created": "2020-07-20T19:32:00.000000"}], "components": ["Certificate Authority"], "created": "2019-12-20T16:52:00.000000", "creator": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e848ff3"}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:l"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jan/20"}], "description": "Users sometimes regenerate a corrupt CA CRL.\n\nThis procedure no longer works, even when replacing \"puppet cert\" with \"puppetserver ca\":\n{code:java}puppet resource service puppet ensure=stopped\npuppet resource service pe-puppetserver ensure=stopped\n\nmv /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem-bk\nmv /etc/puppetlabs/puppet/ssl/crl.pem /etc/puppetlabs/puppet/ssl/crl.pem-bk\n\npuppet cert generate test\npuppet cert clean test\n\npuppet resource service pe-puppetserver ensure=running\npuppet resource service puppet ensure=running\n\npuppet agent -t\n{code}\nNor this:\n{code}[root@pe-201921-masterca]# /opt/puppetlabs/puppet/bin/openssl ca -config /opt/puppetlabs/puppet/ssl/openssl.cnf -gencrl -keyfile /etc/puppetlabs/puppet/ssl/ca/ca_key.pem -cert /etc/puppetlabs/puppet/ssl/ca/ca_crt.pem -out crl.pem\nUsing configuration from /opt/puppetlabs/puppet/ssl/openssl.cnf\n140055043979072:error:02001002:system library:fopen:No such file or directory:crypto/bio/bss_file.c:69:fopen('./demoCA/index.txt','r')\n140055043979072:error:2006D080:BIO routines:BIO_new_file:no such file:crypto/bio/bss_file.c:76:\n{code}\n:(", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "15430", "fixedVersions": [], "id": "15430", "issueType": "New Feature", "key": "SERVER-2710", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "implement puppetserver ca regenerate crl", "timeSpent": "PT0S", "updated": "2022-08-24T11:39:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "I opened SERVER-2850 without realizing I had already opened this \ud83d\ude05\nClosing this one, since the new one has some ideas for what to do.", "created": "2020-08-03T13:05:00.000000"}], "components": [], "created": "2019-12-20T10:27:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2859a830"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz7zr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19618690128_*|*_6_*:*_1_*:*_0"}], "description": "Currently, the puppetserver pipeline that kicks off whenever something is merged includes a job to run unit tests: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_unit-clj_master/\n\nThese same unit tests are run by Travis when the PR is opened.\n\nWe should consider NOT running unit tests as part of the merge pipeline, since they will have already been run before merge. Perhaps only run unit tests on periodic pipelines?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15751", "fixedVersions": [], "id": "15751", "issueType": "Task", "key": "SERVER-2709", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Duplicate", "resolutionDate": "2020-08-03T13:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Evaluate the usefulness of post-merge unit tests", "timeSpent": "PT0S", "updated": "2020-08-03T13:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I would like to update Winston to delete the references to release branches for Puppetserver (we never use them) and instead add a task to disable PE promotions of the release is going to be shipped in a PE release.", "created": "2020-01-13T16:24:00.000000"}], "components": [], "created": "2019-12-19T12:25:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@156ebbf5"}, {"fieldName": "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-10199"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwlav:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_976_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3385428920"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "16064", "fixedVersions": [], "id": "16064", "issueType": "Task", "key": "SERVER-2708", "labels": [], "originalEstimate": "PT0S", "parent": "28637", "parentSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-27T16:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2020-01-27T16:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:25:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57ce1d48"}, {"fieldName": "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-10199"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6wn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_958_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2174029305"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2020-01-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "15428", "fixedVersions": [], "id": "15428", "issueType": "Task", "key": "SERVER-2707", "labels": [], "originalEstimate": "PT0S", "parent": "28637", "parentSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-13T16:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2020-01-13T16:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:25:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@548f9169"}, {"fieldName": "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-10199"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6wf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_957_*|*_3_*:*_1_*:*_47941_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2150572957"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2020-01-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "15073", "fixedVersions": [], "id": "15073", "issueType": "Task", "key": "SERVER-2706", "labels": [], "originalEstimate": "PT0S", "parent": "28637", "parentSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-13T09:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2020-01-13T09:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:25:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a8a45c5"}, {"fieldName": "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-10199"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6w7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1006_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1886948240"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2020-01-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "14900", "fixedVersions": [], "id": "14900", "issueType": "Task", "key": "SERVER-2705", "labels": [], "originalEstimate": "PT0S", "parent": "28637", "parentSummary": "Puppet Platform 6.12.0 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-10T08:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2020-01-10T08:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:22:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46c5c36c"}, {"fieldName": "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-10189"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6pr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1100_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2150725738"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "15072", "fixedVersions": [], "id": "15072", "issueType": "Task", "key": "SERVER-2704", "labels": [], "originalEstimate": "PT0S", "parent": "25477", "parentSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-13T09:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2020-01-13T09:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:22:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@47c98bfe"}, {"fieldName": "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-10189"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6pb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1094_*|*_3_*:*_1_*:*_262049512_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1886832121"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2020-01-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "17499", "fixedVersions": [], "id": "17499", "issueType": "Task", "key": "SERVER-2703", "labels": [], "originalEstimate": "PT0S", "parent": "25477", "parentSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-13T09:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2020-01-13T09:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:22:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ddaab82"}, {"fieldName": "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-10189"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6p3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_953_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1886831086"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2020-01-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "17151", "fixedVersions": [], "id": "17151", "issueType": "Task", "key": "SERVER-2702", "labels": [], "originalEstimate": "PT0S", "parent": "25477", "parentSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-10T08:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2020-01-10T08:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:22:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@269e7002"}, {"fieldName": "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-10189"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6ov:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_969_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1722106672"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2020-01-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "16870", "fixedVersions": [], "id": "16870", "issueType": "Task", "key": "SERVER-2701", "labels": [], "originalEstimate": "PT0S", "parent": "25477", "parentSummary": "Puppet Platform 6.4.5 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-08T10:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2020-01-08T10:44:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:19:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6f9fa9af"}, {"fieldName": "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-10179"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6if:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1016_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1805596867"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2020-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "17150", "fixedVersions": [], "id": "17150", "issueType": "Task", "key": "SERVER-2700", "labels": [], "originalEstimate": "PT0S", "parent": "22268", "parentSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-09T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2020-01-09T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:19:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75d05397"}, {"fieldName": "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-10179"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6hz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1030_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1805573584"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2020-01-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "16585", "fixedVersions": [], "id": "16585", "issueType": "Task", "key": "SERVER-2699", "labels": [], "originalEstimate": "PT0S", "parent": "22268", "parentSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-09T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2020-01-09T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:19:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2577f9f"}, {"fieldName": "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-10179"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6hr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1030_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1805570132"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2020-01-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "16275", "fixedVersions": [], "id": "16275", "issueType": "Task", "key": "SERVER-2698", "labels": [], "originalEstimate": "PT0S", "parent": "22268", "parentSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-09T09:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2020-01-09T09:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-12-19T12:19:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59543697"}, {"fieldName": "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-10179"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz6hj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1060_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1722265872"}], "description": "(Initial planned release date: 2020-01-14)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2020-01-07T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "estimate": "PT0S", "externalId": "16062", "fixedVersions": [], "id": "16062", "issueType": "Task", "key": "SERVER-2697", "labels": [], "originalEstimate": "PT0S", "parent": "22268", "parentSummary": "Puppet Platform 5.5.18 Release - 2020-01-14\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2020-01-08T10:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2020-01-08T10:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2019-12-19T09:00:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2d561e0d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzz653:"}, {"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_*:*_515492577_*|*_1_*:*_1_*:*_5609744_*|*_10007_*:*_1_*:*_1184167118_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_28350274"}], "description": "*Puppet Version:* 5.5.x, 6.x\n*Puppet Server Version:* 5.x, 6.x\n*OS Name/Version:* Any\n\nDescribe your issue in as much detail as possible\u2026\n\n  - Install Puppet Server along with a pool of agents\n\n  - Re-start the puppet service on the agents all at once so they form a thundering herd\n\n  - Configure puppetserver with max-queued-requests set less than the herd size\n\n  - Observe connection state via netstat when an agent receives a 503 response\n\n*Desired Behavior:*\n\nAgents close their connections in response to a 503 before sleeping and re-trying.\n\n*Actual Behavior:*\n\nAgents retain open TCP connections to the server while sleeping due to the default behavior being {{Connection: keep-alive}}.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17149", "fixedVersions": ["SERVER 5.3.11", "SERVER 6.3.3", "SERVER 6.8.0"], "id": "17149", "issueType": "Improvement", "key": "SERVER-2696", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Done", "resolutionDate": "2020-01-08T10:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "503 responses sent when the JRuby pool is overloaded should include Connection: close headers", "timeSpent": "PT0S", "updated": "2020-02-06T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hmm, puppetserver packages include the hiera-eyaml gem. Also I wouldn't expect you'd have to install those into system ruby.\n\n{noformat}\n[root@motley-burst ~]# puppet --version\n6.11.1\n[root@motley-burst ~]# puppetserver --version\npuppetserver version: 6.7.2\n[root@motley-burst ~]# puppetserver gem list | grep eyaml\nhiera-eyaml (3.0.0)\n{noformat}", "created": "2019-12-16T11:22:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:623c152dee1b5a007029373b] Based on Josh's output we can't reproduce the issue.  Let us know if you have more information on the issue.  ", "created": "2020-09-03T12:00:00.000000"}], "components": ["Puppet Server"], "created": "2019-12-16T09:20:00.000000", "creator": "623c152dee1b5a007029373b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a6dacdb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzz35j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22642804057_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:\u00a06.11.1*\n *Puppet Server Version: 6.7.2*\n *OS Name/Version: CentOS 8.0*\n\nThe hiera-eyaml gem is not installed by default which causes errors when building an new puppet master.\n\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Function Load Error for function 'eyaml_lookup_key': Lookup using eyaml lookup_key function is only supported when the hiera_eyaml library is present\n\nAfter running `puppetserver gem install hiera-eyaml` the same error is repeated when the client attempts to apply a catalog.\n\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Function Load Error for function 'eyaml_lookup_key': Lookup using eyaml lookup_key function is only supported when the hiera_eyaml library is present\n\nFixing this requires installing the rubygems package along with the hiera-eyaml gem.\n\ndnf install rubygems\n\ngem install hiera-eyaml\n\nAfter running these two commands the puppet agent works as expected.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16061", "fixedVersions": [], "id": "16061", "issueType": "Bug", "key": "SERVER-2693", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c152dee1b5a007029373b", "resolution": "Cannot Reproduce", "resolutionDate": "2020-09-03T12:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "eyaml gems missing on new installs", "timeSpent": "PT0S", "updated": "2020-09-03T12:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The puppetdb terminus is a separate package, and must be installed in order to use \"puppetdb\" as the place to store facts. I believe the fail-fast behavior is correct and intentional.", "created": "2019-12-16T11:24:00.000000"}], "components": ["Puppet Server"], "created": "2019-12-16T09:14:00.000000", "creator": "623c152dee1b5a007029373b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@65c3aef"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzz353:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7797946_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_37602416606"}], "description": "*Puppet Version:\u00a06.11.1*\n *Puppet Server Version: 6.7.2*\n\n*OS Name/Version: CentOS 8.0*\n\nThe puppetserver service fails to start when reports are configured to use puppetdb.\u00a0 Attempting to start the puppetserver service results in an error as follows.\n\npuppetserver[15841]: (ArgumentError) Could not find terminus puppetdb for indirection facts\n\n*Desired Behavior:*\n\n**puppetserver service should start without errors.\n\n*Actual Behavior:*\n\npuppetserver service fails to start.\n\nThis issue is corrected after installing the\u00a0puppetdb-termini package.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16273", "fixedVersions": [], "id": "16273", "issueType": "Bug", "key": "SERVER-2692", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c152dee1b5a007029373b", "resolution": "Won't Fix", "resolutionDate": "2021-02-23T16:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetdb terminus missing on new installs", "timeSpent": "PT0S", "updated": "2021-02-23T16:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e76b0866b810069e575bf", "body": "[https://github.com/puppetlabs/puppetserver-ca-cli/blob/cefb453438bb53f35ca31bf37d359c5b1f1835b4/lib/puppetserver/ca/config/puppet.rb#L201]\n\nThis is the regex responsible for configuration parsing. As noted in the comment, it does not support spaces. At the very least this should support a quoted value.\n\nAdditionally, the root_ca_name should probably be exposed on the command line, just like ca_name is.", "created": "2019-12-13T15:14:00.000000"}, {"author": "623e76b0866b810069e575bf", "body": "I've been patching the regex linked in the above comment with:\n{noformat}\n/^\\s*(\\w+)\\s*=\\s*(.+?)\\s*(?=[{#]|$)/{noformat}", "created": "2021-07-06T10:06:00.000000"}], "components": ["Certificate Authority"], "created": "2019-12-13T15:10:00.000000", "creator": "623e76b0866b810069e575bf", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2edc9bd2"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:j"}], "description": "*Puppet Version: 5.5.17*\n *Puppet Server Version: 5.3.9*\n *OS Name/Version: CentOS 7*\n\nSetup ca using a custom ca_name and root_ca_name.\n\nFrom a clean install:\n add to puppet.conf:\n{noformat}[main]\nca_name=Totes Ma Goats CA\nroot_ca_name=Ma Goats Root CA{noformat}\nSetup CA\n{noformat}puppetserver ca setup\u00a0{noformat}\nReview CA Certificate:\n{noformat}openssl x509 -noout -text -in \\\n $(puppet agent --configprint ssldir)/ca/ca_crt.pem \\\n | grep -E '(Issuer|Subject):'\n{noformat}\n*Desired Behavior:*\u00a0\n{noformat}        Issuer: CN=Ma Goats Root CA\n        Subject: CN=Totes Ma Goats CA\n{noformat}\n*Actual Behavior:*\n{noformat}        Issuer: CN=Ma\n        Subject: CN=Totes\n{noformat}\n\u00a0", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15426", "fixedVersions": [], "id": "15426", "issueType": "Bug", "key": "SERVER-2691", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e76b0866b810069e575bf", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Incorrect Custom CA Subject and Issuer", "timeSpent": "PT0S", "updated": "2022-09-21T12:00:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Running investigations we've seen two things that we think were contributing to this:\n1) When the queue limit was exceeded agents and the server were keeping their connection open. On some systems that could lead to having however many agents-that-were-resplayed number of extra connections open. [~accountid:623e754d94742a00683f7cf0] has a patch that should resolve this issue at https://github.com/puppetlabs/puppetserver/pull/2247 .\n\n2) In our PE customer's environment it appears that the TLSContexts/CRLs are being held by WebSocketServerConnections. This was found by going through the heap dump and noticing that the path to a garbage root for nearly all CRLs went through an IdleTimeout object per CRL that was a deferred task in thread local executor pool. It appears that the IdleTimeout only decrements its counter when the task is actually running (vs wall time waiting in the executor pool). I believe that means as the system becomes more loaded and the executor pool fills with more tasks, each task will get a smaller time slice in which to be idle and the connection will take longer to idle out. The IdleTimeout task also defers to the underlying connection as to whether it should be closed, each IdleTimeout task inspected wrapped an SSLConnection which defers to its \\_decryptedEndpoint connection, an instance (in all the cases inspected in Yourkit) of the WebSocketServerConnection class. I'm unclear on how many connections _should_ be open from a pcp-broker though there are 918 instances of WebSocketServerConnection in the most current heap dump analyzed. I'm only aware of pcp-broker/client creating websocket connections in a compile master. We're attempting to further validate that finding, but it is ultimately a PE specific component so I don't think it is the primary cause of the open source issue.", "created": "2020-01-02T11:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm closing this as \"DONE\" because I think the FOSS side of things will be taken care of by Charlies work (which is tracked/documented under a different ticket) and the PE triage/fixing will happen under a commercial (private) ticket.", "created": "2020-01-09T13:59:00.000000"}], "components": [], "created": "2019-12-09T12:23: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@33484b84"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzyy33:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_612309625_*|*_1_*:*_1_*:*_1399286_*|*_3_*:*_1_*:*_2070414771_*|*_6_*:*_1_*:*_0"}], "description": "When debugging SERVER-2673 we counter intuitively saw out of memory errors surfacing when lowering the number of JRuby instances. When raising the number of JRuby instances the overall catalog times took longer (because of memory pressures) but the overall throughput of the system went up because of the additional workers. As soon as there were no more queue limit 503s being server there also no more out of memory issues.\n\nThis, in combination of some heap dumps from the internal PE-27722 ticket that showed 20+% of the heap being consumed by TLSContexts (when they were frequently seeing queue-limits exceeded) makes me suspicious that the \"TLS Contexts\" and their connections may be \"leaked\" by our queue-limit handling.\n\nI say \"leaked\" in quotes because it may be that the connection isn't being closed correctly and so they are defaulting to something like a 30 minute timeout which causes them to be promoted and look like a leak (if even in theory they'd eventually be cleaned up).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15071", "fixedVersions": [], "id": "15071", "issueType": "Improvement", "key": "SERVER-2689", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2020-01-09T13:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate potential \"leakage\" of TLS Contexts when queue limit is exceeded", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], I was working on this a bit today, but I don't really have the information or context I need to work on it. How would you feel about updating the doc with the relevant information, and then docs can review / edit the whole page? I think we can make some good improvements to it, but we don't know how everything is related and should be tied together.\n\nAlternatively, we would need some more details, such as  \"recommendations of 0.75-1.25 Gb per instance\" of what (heap? CodeCache?), what specific updates should be made in each section, etc.", "created": "2020-02-21T13:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey thanks. Sorry I forgot to respond to this.\n\nI do think this is still applicable and I'm happy to do the edits and get a docs review. I think John Duarte has the tests we need from SLV automated though some of the analysis is still manual. We might be able to get his help still. I think we'll wait to do this until after we ship the threadsafe work since it will have it's own perf implications and recommendations.\n\n/cc [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2020-04-06T11:47:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thank you\u00a0[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]! I've moved this to the Server project for now. Let me know when you have something for me to review.\u00a0", "created": "2020-04-08T01:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I updated the description with more tuning recommendations. I would consider the content of the description to be a big improvement for FOSS users as-is, and I think just need to be worked into the content of the linked FOSS tuning guide. I have a feeling much of the existing guide can be edited down/out as either outdated by the info in the description, or just not coherently tied together.", "created": "2020-08-11T16:02:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0Do you mind expanding on this statement about Metaspace a bit?\n\n{quote}\nor using a similar amount of Metaspace to CodeCache if being managed\n{quote}\n\nSay I have CodeCache set to the max of 2GB and max-requests-per-instance at 0, what should Metaspace be set to and what effect would that have vs. not managing it?\n\n----\nAdditionally, is there any guidance for FOSS users regarding JVM versions and GC algorithms?", "created": "2020-08-11T18:17:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]! [~accountid:5b5a27ad106ec32d95ea277d]\u00a0are you able to take this on?", "created": "2020-08-12T04:37:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] as servers get bigger and bigger, multisocket systems are quite common. In my case I can choose between a few SKUs in our datacenter but the smallest box has  32 logical cores. This usually exceeds the recommendation of ~20 jruby instances / ~ 30GB of heap. Do you maybe have a suggestion here? Starting multiple puppetserver instances on those boxes? Can you explain why CodeCache has a limit of 2GB?", "created": "2020-08-12T14:26:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}Say I have CodeCache set to the max of 2GB and max-requests-per-instance at 0, what should Metaspace be set to and what effect would that have vs. not managing it?\n{quote}\nMetaspace will naturally grow as needed by the JVM, my recommendation would be to never explicitly manage it. However I've seen some users who do explicitly manage it and in that case a user with 2GB of CodeCache should assume they will need ~2GB of Metaspace. Knowing this is primarily useful when looking at heap vs total memory usage of the service (I think most folks just think of heap).", "created": "2020-08-12T14:31:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}Additionally, is there any guidance for FOSS users regarding JVM versions and GC algorithms?\n{quote}\nWe will be deprecating Java 8 support though it will exist for all of the 6.x series support (2-3 more years). 6.x Puppet Server supports Java 11 and is recommended (though you may see some warnings when starting because of third party libraries). PE also uses Java 11.\n\nIf using Java 8, do not use the G1GC, we've had several reports of it being unstable on that version of Java. The ParGC is the default GC for Java 8 and it is recommended.\n\nG1GC is greatly improved in Java 11 (and is the default for that version of Java), though for most users we recommend switching back to the legacy ParGC. G1GC trades a significant amount of throughput in the interest of providing good latency in large heaps. Those users that choose to go well above 32G of heap may find that G1GC is an acceptable tradeoff.\n\nBeyond switching between ParGC and G1GC, we don't provide general GC tuning tips. There _can_ be cases where it's valuable to tweak different settings. But it is very workload/hardware dependent and usually further tweaking results in worse performance than if the basic options were used.", "created": "2020-08-12T14:42:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}Can you explain why CodeCache has a limit of 2GB?\n{quote}\nHonestly, I don't know. All I've heard is that it a hard limitation of the JVM implementation we use. I assume it's something with the implementation, like how 2G can be addressed by 31bits (the positive values in a Java int).\n\nThe default, iirc, is 48M, which goes to show how wildly out of the norm we are in the Java world. IIRC, the CodeCache that each JRuby contributes is largely unshared, which is why it has to increase per JRuby instance, why we are so out of line with most java applications, and why moving to a multithreaded model within a single JRuby has the potential to be so beneficial.", "created": "2020-08-12T14:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}the smallest box has 32 logical cores. This usually exceeds the recommendation of ~20 jruby instances / ~ 30GB of heap. Do you maybe have a suggestion here?\n{quote}\nOne recommendation would be not to plan on having a single JRuby per logical core. JRuby's 1.7 runtime was a much simpler application which largely evaluated Ruby in a sequential manner. Each 9k instance is its own optimizing compiler and byte code interpreter and is implemented using multiple threads (iirc, a base JRuby instance will use at least 3 threads). So it may be better to plan on 1.5 or 2 logical cores per JRuby instance.\n\n\u00a0\n\nRunning multiple services on the same box can be problematic if you don't have completely different directory structures for each (ie you probably don't want them writing cache files overtop of each other). In theory you could run it as an unprivileged user to nest its filesystem in ~/.puppetlabs (assuming you're also running from source), but that's a huge pain, imo. VMs or containers are another option. You might want to check out the pupperware project (I don't know a ton about it) though running Java apps inside containers usually involves using newer JVMs and doings some manual JVM configuration.\u00a0 (see\u00a0[https://developers.redhat.com/blog/2017/03/14/java-inside-docker/])\n\n\u00a0\n\nHonestly, I hope that we'll be able to leverage multithreading to help folks scale vertically like you want to do. I would ask that you, if possible, try it out in a lab-like setting and give us feedback if you see issues so that we can get it rock solid as fast a possible. It can be enabled by setting {{jruby-puppet.multithreaded}} to {{true}} in {{puppetserver.conf}}. See\u00a0[https://puppet.com/docs/puppetserver/latest/config_file_puppetserver.html]", "created": "2020-08-12T15:12:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the questions! Keep them coming, this is great to help get the FOSS tuning docs as good as possible! I'll wait another day to see what other questions/clarifications there might be, and then, if [~accountid:5b5a27ad106ec32d95ea277d] wants, work them into the description.", "created": "2020-08-12T15:14:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "okay another one then :)\nlet's say I've a loadbalancer in front of multiple compile masters. do you have suggestions for distributing the agents? At the moment I spread all http requests equally across all servers. that means that during a single agent run, an agent can hit multiple puppetservers. This keeps the load equal, but might be bad from a caching point of view, especially if you've many file resources in the catalog (aka many http requests). Do you have suggestions here?\n\n(will keep the multithreading in mind and hopefully test it soon).", "created": "2020-08-12T15:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}do you have suggestions for distributing the agents?\n{quote}\nI have very little knowledge about load balancing unfortunately. I don't think distributing all http requests across all servers should be too bad assuming you have relatively few environments and they are all usually loaded into memory on all your compilers.\n\nI would recommend using static catalogs (on by default when using code management in PE, see [https://puppet.com/docs/puppet/6.17/static_catalogs.html]\u00a0for foss docs). Which will inline file metadata into a catalog, reducing the number of http requests to the compilers significantly.\n\nActual load balancing strategy-wise, a quick search shows that ip affinity might be something you want to look at, but my knowledge of this is so lacking don't consider this a recommendation at all.", "created": "2020-08-12T15:52:00.000000"}, {"author": "557058:c1aa8056-6473-479b-bb79-3ce6e45bce2f", "body": "We find that in our case leaving MetaSpace unmanaged (i.e. letting it grow as needed) sooner or later leads to OOM killings of the Puppetserver java process. We have four (virtual) machines with 22GB RAM and 15 vCPUs each, running Puppetserver 6.13.0 on Ubuntu 18.04. These Puppetservers are running behind a load balancer (HAProxy).\n\nI am currently experimenting with the recommendations in this ticket and have set {{max-active-instances: 9}} (= 1.5 cores per JRuby instance) and {{max-requests-per-instance: 0}} in /etc/puppetlabs/puppetserver/conf.d/puppetserver.conf. The JVM is configured as follows, using OpenJDK 11:\n\n{code:java}\nJAVA_ARGS=\"-Xms19g -Xmx19g -XX:ReservedCodeCacheSize=2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\n{code}\n\nSo 19GB of heap space and 2GB of CodeCache, no limit on MetaSpace. Does this mean something in our Puppet setup is leaking off-heap memory? \n\nEdit: these four Puppetservers serve about 600 machines running Puppet agent every half hour. Our catalogs are probably quite above average in complexity, and we make use of Hiera a lot, but it seems to me that 600 machines should not require four beefy Puppetservers that still die regularly because of memory resource issues.\n\nEdit 2: it should have been obvious to me that 19GB heap and 2GB CodeCache don't leave much remaining memory for MetaSpace or even OS usage so I have reduced the heap to 16GB. This should leave more breathing room and hopefully be more stable, but we'll see over the next day or two.", "created": "2020-09-28T12:23:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "bq. Does this mean something in our Puppet setup is leaking off-heap memory?\n\nProbably.\n\nbq. 600 machines should not require four beefy Puppetservers that still die regularly because of memory resource issues\n\nAbsolutely. We have users running 10x as many clients per server on similar sized hardware.\n\nTo break that down, there's 1800 seconds in your runinterval. 150 clients could each have 12 seconds of CPU time on the server per run. Catalog compilation takes up the majority of an agent's requirements on a server, so as long as you don't have hundreds of file requests. I would expect an average catalog compilation time of 10 seconds to be the upper limit that a server could handle. That assumes the server only uses only _ONE JRUBY_. With 9 jrubies I would expect a catalog could comfortably take over a 100 seconds. To put that in perspective I think 10-30 seconds is normal for catalog compilations, even complex ones. Put it another way, I would expect one server to handle your infrastructure. (let me know if those estimates are off)\n\n\nGoing back to the memory issues. Getting a heap dump is probably the best way to see if something's leaking. There's a JVM option to have it save a heap dump on OOM that would be helpful (See [-XX:+HeapDumpOnOutOfMemoryError|https://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/clopts.html]. We also have looked into improving some memory usage lately, see SERVER-2874, those were two direct causes, I think there might be a similar issue with some of our warning messages causing catalog leaks but haven't found a reproducer. It's always good to see if you're causing lots of warnings during compilation because some of those can be very expensive.\n\nYou mention a complicated hiera usage. I was just working with a client who had two different issues, one where they were doing a remote API call for nearly every hiera lookup, the other where they had a hierarchy that caused the server to load nearly every file in their hieradata (but not find the key till the end of the hierarchy). Their hierarchy was almost 200 Mbs in memory (~20 on disk, iirc) and that was loaded, and then thrown away for every request.", "created": "2020-09-28T15:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{quote}don't leave much remaining memory for MetaSpace or even OS usage\n{quote}\nFor what it's worth, I would expect Metaspace to consume similar amounts of memory as CodeCache (eg. 2Gb in your setup).", "created": "2020-09-28T15:25:00.000000"}, {"author": "557058:c1aa8056-6473-479b-bb79-3ce6e45bce2f", "body": "Thank you for the comment, very interesting!\n\nYour estimates sound quite good: when everything is running fine then most catalogs take about 15-20 seconds to compile in the production environment (it has about 280 modules). An exception are our Icinga master nodes which collect many, many exported resources and so their catalogs take between 50 and 80 seconds to compile. About ten of our modules that are in use on every node have multiple files in their {{files}} directory, so in the HAProxy logs I can see many requests to /puppet/v3/file_metadata for each catalog, but I don't know how much would be \"too much\" for a Puppetserver to comfortably handle. The modules in question are from the [Choria project|https://forge.puppet.com/choria] and together they provide about 200 files.\n\nWe do see quite a few warnings in puppetserver.log about deprecated functions, string to numerical value coercion, and yaml files that \"don't contain a valid yaml hash\" (i.e. are empty). Most of these warnings are about third-party modules we don't have much control over (any PRs we send often take months to get accepted, and sadly many modules seem to no longer be actively developed) but I am working on the ones we do control.\n\nRegarding Hiera: our Hiera data in the production environment is about 6MiB on disk, with 36 layers and some of them with sub-hierarchies. We use {{eyaml_lookup_key}} for 35 of those layers, and [{{file_eyaml_lookup_key}}|https://gist.github.com/antaflos/68bbca3b6dde0263e86ef9a35c3dfe3d] (a custom lookup function that looks up Eyaml-encrypted file data) for the 36th", "created": "2020-09-28T17:12:00.000000"}], "components": [], "created": "2019-12-05T13:40: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@72c86db"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91ju"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Feb/20"}], "description": "It's been pointed out to me that we changed how we wanted to tune Server when we went from JRuby 1.7 to 9k (in Puppet 5.x to 6.x) and while we've gotten our support scripts and PE tuning guide updated (IIUC), we haven't _adequately_\u00a0updated our FOSS recommendations[1] (we added a net new section regarding CodeCache but we didn't update heap recommendations or tie all it all together meaningfully). There are a number of people upgrading and running into these issues.\n\nWe should have recommendations of\u00a00.75-1.25 Gb of memory per instance to start with depending on average catalog complexity (or at least 10% more than in 5.x). Though users may need more memory per JRuby, especially if they are using complicated hiera hierarchies. JRuby 9k also uses more threads per instance, so previous recommendations of one instance per logical core may no longer be sufficient.\n\nUsers should also budget around 100 Mbs of CodeCache per instance, and leaving Metaspace unmanaged (or using a similar amount of Metaspace to CodeCache if being managed). These two memory areas, CodeCache & Metaspace, are \"off heap\" and the lower the max-requests setting the more off-heap memory will be used. These recommendations are with at least a max-requests of 100k (which is our PE default). We encourage users to use a value of 0, which completely disables max-requests and is the default in FOSS (those who tuned for 4.x or 5.x and set max-requests-per-instance to a low number will especially see issues until they re-tune).\n\nWe should also recommend that most folks ensure heap memory does not use more than 32G, or else the JVM reconfigures how it handles pointers causing everything to consume more memory. Users who scale vertically to or above 32G of heap will need to increase their original per-JRuby memory requirements by up to 30% to account for the different way that the JVM manages pointers in large heaps. It should also be noted for those attempting to scale vertically that CodeCache has a hard limit of 2G, which will limit many users to around 20 JRuby instances.\n\nIn a last resort case it is possible for users to turn of JRuby's JIT, which is some edge cases may have a more stable performance profile.\n\nPuppet Enterprise uses Java 11 with the ParallelGC. G1GC allows for low GC pauses for much larger heaps than were previously possible, however, for most of our users we've found the throughput costs of the more complex G1GC outweighed improvements in latency. We recommend our users start from this configuration and then evaluate if they require switching to G1GC to scale.\n\nFinally, there is also an experimental multithreading feature that we are developing and would love to get feedback on. It should be extensively vetted by people in their test environments first, but when successful should reduce load and memory requirements by 25%-50% and remove the need to tune CodeCache and/or Metaspace (and thereby allowing easier vertical scaling). Users should do a full restart of the puppetserver service to ensure the committed memory is released properly when switching to multithreaded. Be advised that there are known issues with multithreading, max-requests-per-instance and/or environment-caching. See\u00a0SERVER-2860.\n\n1. [https://puppet.com/docs/puppetserver/latest/tuning_guide.html]", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16059", "fixedVersions": [], "id": "16059", "issueType": "Improvement", "key": "SERVER-2771", "labels": ["server"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Needs Information", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update FOSS 6.x tuning recommendations to reflect current PE tuning standards.", "timeSpent": "PT0S", "updated": "2022-08-30T08:51:00.000000", "votes": "6", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-12-05T12:47: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@15bbbcca"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:b"}], "description": "The [test|https://github.com/puppetlabs/jruby-utils/blob/master/test/integration/puppetlabs/services/jruby_pool_manager/jruby_internal_test.clj#L91-L107] for the thread dump functions in jruby-utils fails periodically with the following:\n{code}\nFAIL in (jruby-thread-dump) (jruby_internal_test.clj:107)\n\nreturns a thread dump when jruby.management.enabled is set to true\n\nexpected: (re-find #\"naptime at jruby-thread-dump\\.rb\" (:thread-dump result))\n\n  actual: (not (re-find #\"naptime at jruby-thread-dump\\.rb\" \"All threads known to Ruby instance 1133381918\\n\\nThread: main\\nStack:\\n\\n\\nThread: Ruby-13-Thread-1: jruby-thread-dump.rb:5\\nStack:\\n    [no longer alive]\\n\\n\"))\n{code}\n\nWe should try to make this less flakey.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15070", "fixedVersions": [], "id": "15070", "issueType": "Bug", "key": "SERVER-2688", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Thread-dump test in jruby-utils fails transiently", "timeSpent": "PT0S", "updated": "2022-03-09T09:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-12-03T13:10: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@332d839e"}, {"fieldName": "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-10012"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzyswv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_170554656_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_71190105497"}], "description": "Puppet Server currently creates an implementation of Puppet's KeyRecorder for collecting and counting Hiera key lookups. We need something similar to collect and count function calls from Puppet code. The collected data will later be pulled out by PDB for storage and use by CD4PE's Impact Analysis.\n\nQuestion: Do we need to record 3x and 4x functions separately, or is considering them all just as homogeneous functions granular enough?\nAnswer: just functions is fine.\n\nNeed to make sure that this recorder is added in a backwards-compatible way, similar to https://github.com/puppetlabs/puppetserver/commit/ff4bd063283009d74b864aca690ab2db89042953.\n", "epicLinkSummary": "Impact Analysis: Functions and Templates", "estimate": "PT0S", "externalId": "16868", "fixedVersions": [], "id": "16868", "issueType": "Task", "key": "SERVER-2687", "labels": [], "originalEstimate": "PT0S", "parent": "29618", "parentSummary": "Impact Analysis: Functions and Templates", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add recorder for function calls", "timeSpent": "PT0S", "updated": "2022-03-08T11:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-12-03T12:44: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@1c611d5d"}, {"fieldName": "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-10012"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzysv3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_172112096_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_71197139885"}], "description": "Puppet Server currently creates an implementation of Puppet's KeyRecorder for collecting and counting Hiera key lookups. We need something similar to collect and count template invocations. The collected data will later be pulled out by PDB for storage and use by CD4PE's Impact Analysis.\n\nQuestion: Do we need to record ERB and EPP templates separately, or is considering them all just as homogeneous templates granular enough?\nAnswer: We don't care about the different types, they can all just be \"templates\".\n\nNeed to make sure that this recorder is added in a backwards-compatible way, similar to https://github.com/puppetlabs/puppetserver/commit/ff4bd063283009d74b864aca690ab2db89042953.", "epicLinkSummary": "Impact Analysis: Functions and Templates", "estimate": "PT0S", "externalId": "14824", "fixedVersions": [], "id": "14824", "issueType": "Task", "key": "SERVER-2686", "labels": [], "originalEstimate": "PT0S", "parent": "29618", "parentSummary": "Impact Analysis: Functions and Templates", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add recorder for template evaluations", "timeSpent": "PT0S", "updated": "2022-03-08T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "The code you linked seems to be the only place that `flush-timeout` is used and it doesn't seem to be related to flushing? so I'm a little confused about what exactly this setting is for and what we need it to do.\n", "created": "2019-12-10T17:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "{{borrow-all-jrubies}} is used to acquire references to all of the JRuby instances in the old implementation, which is the first step of flushing here:https://github.com/puppetlabs/jruby-utils/blob/master/src/clj/puppetlabs/services/jruby_pool_manager/impl/jruby_agents.clj#L193.\n\nIn the new pool, flushing is simpler, and we use the pool lock explicitly, here https://github.com/puppetlabs/jruby-utils/blob/master/src/clj/puppetlabs/services/jruby_pool_manager/impl/reference_pool.clj#L121. We might be able to just switch that {{lock}} call to use {{lock-with-timemout}} instead, and pass it that setting.\n\nThat would probably be needed for {{flush-pool}}, {{flush-if-at-max-borrows}} (maybe?), and {{shutdown}}.", "created": "2019-12-10T17:58:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "ahh okay, that makes sense.\nyeah, I was figuring we'd just be changing {{lock}} to {{lock-with-timeout}} in some places, just wasn't totally clear on what those places should be, since it was unclear to me where flushing came in. ", "created": "2019-12-10T18:07:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "okay, respecting this setting for {{flush-pool}} and {{flush-if-at-max-borrows}} makes sense to me, but not sure if it makes sense for {{shutdown}}. Is there any flushing involved in shutdown? I don't see any. so this setting would be confusing if it affected shutdown, imo.", "created": "2019-12-12T14:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[Cleaning up|https://github.com/puppetlabs/jruby-utils/blob/master/src/clj/puppetlabs/services/jruby_pool_manager/impl/reference_pool.clj#L76] the instance is the equivalent of flushing the pool for the ReferencePool. Also, we respect the timeout in the old implementation: {{flush-pool-for-shutdown}} calls the same {{borrow-all-jrubies}} that other flushes do (via [drain-and-refill-pool|https://github.com/puppetlabs/jruby-utils/blob/master/src/clj/puppetlabs/services/jruby_pool_manager/impl/jruby_agents.clj#L214]). So I think we want to keep parity with that.", "created": "2019-12-12T15:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We need to make sure that the pool can recover from a timeout exception being thrown. So if we throw inside a function called by the agent, we should probably just catch it and abort the flush attempt, without letting the timeout exception propagate. This is relevant for the event of a timeout while flushing due to MRPI.\n\nFor the admin flush and shutdown, no agents are involved, so things are okay.", "created": "2019-12-13T15:14:00.000000"}], "components": [], "created": "2019-12-03T09:58: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@6d84713e"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykecf:"}, {"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/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_86899783_*|*_1_*:*_1_*:*_9244_*|*_10007_*:*_1_*:*_511490715_*|*_3_*:*_1_*:*_269572440_*|*_5_*:*_2_*:*_88360_*|*_10006_*:*_1_*:*_620296072"}], "description": "The new JRuby pool model does not include a timeout on its flush operation. There is a {{jruby-puppet}} config setting that allows the user to configure the flush timeout that needs to be respected here.\n\nSimilar code in the instance pool implementation: https://github.com/puppetlabs/jruby-utils/blob/master/src/clj/puppetlabs/services/jruby_pool_manager/impl/jruby_agents.clj#L120-L130\n\nWe should also probably respect this timeout when locking the pool for shutdown.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "15749", "fixedVersions": ["SERVER 6.8.0"], "id": "15749", "issueType": "Bug", "key": "SERVER-2685", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-12-20T15:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "ReferencePool does not respect the flush-timeout setting", "timeSpent": "PT0S", "updated": "2019-12-20T15:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "For the time being, we are not going to roll jruby-utils 3.0.0 into clj-parent, but just override it manually in the puppetserver projects. This means that orchestrator won't take it up yet, which seems good while we're still verifying things.\n\nWe also need to update pe-puppet-server-extensions and pe-puppetserver similarly to get this override into PE.", "created": "2019-12-11T10:35:00.000000"}], "components": [], "created": "2019-12-02T12: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@2591cda8"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke67:"}, {"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": "This work adds a new JRuby pool architecture that maintains a single a JRuby instance through which requests to Puppet Server will be run concurrently. This behavior can be toggled by setting the `jruby-puppet.multithreaded` setting to `true`. In this mode, the server's memory footprint will be significantly lighter due to no longer needing to run multiple JRuby instances.\n\nPlease note that the work to ensure that Puppet's Ruby code functions correctly in this environment is still underway. This mode is considered highly experimental at the moment."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_320854395_*|*_1_*:*_1_*:*_11359_*|*_10007_*:*_1_*:*_794919534_*|*_3_*:*_1_*:*_73541728_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_8245633"}], "description": "We recently implemented a new JRuby pool backend for use with running puppet multithreaded in a single JRuby instance. This needs to be integrated (behind a feature flag) into Puppet Server.\n\nThere are a couple minor internal API changes, but nothing about the existing functionality should change as part of this work.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16271", "fixedVersions": ["SERVER 6.9.0"], "id": "16271", "issueType": "Task", "key": "SERVER-2684", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-12-16T09:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Integrate new JRuby reference pool", "timeSpent": "PT0S", "updated": "2020-01-21T14:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Puppet's {{stdinfile}} option was added in https://github.com/puppetlabs/puppet/commit/7de82c387b29b0c9202e35d680f109407c07faa7.\n\nTicket SERVER-74 was filed to support all of puppet's execution options, but was closed won't fix.\n\nPuppetserver's executor could [handle the {{stdinfile}} option|https://github.com/puppetlabs/puppetserver/blob/master/src/ruby/puppetserver-lib/puppet/server/execution.rb#L32] with something like:\n\n{code:ruby}\nexe_options = ShellUtils::ExecutionOptions.new\nexe_options.setStdin = File.open(options[:stdinfile], 'rb') if options[:stdinfile]\nbegin\n  ...\nensure\n  stdin = exe_options.getStdin\n  close.stdin if stdin\nend\n{code}\n\nThe clojure shell utils are in https://github.com/puppetlabs/clj-shell-utils/blob/bf95a25bcd8865c7770f26188b0f25ba9aee0b76/src/java/com/puppetlabs/puppetserver/ShellUtils.java#L18", "created": "2019-12-02T16:17:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this feature, for us to actively work on this feature.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T13:33:00.000000"}], "components": ["Puppet Server"], "created": "2019-12-02T00:25:00.000000", "creator": "6243b3c84fe01d006ba5c5e3", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a7f8bf7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzyr1z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_30283761339_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41216305634"}], "description": "*Puppet Version: 6.11.1*\n *Puppet Server Version: 6.7.2*\n *OS Name/Version: Centos 7.7*\n\n*Desired Behavior:***\n\nPuppet::Util::Execution.execute should behave the same way, whether executed through puppet or through puppetserver.\n\n*Actual Behavior:*\n\nHaving the following code snippet in a function:\n{code:java}\npublic_key = Puppet::Util::Execution.execute(\n        ['/usr/bin/wg', 'pubkey'],\n        {:failonfail => true,\n         :stdinfile => private_key_path},\n      ) {code}\n\u00a0\n\nReference: [https://code.immerda.ch/immerda/puppet-modules/wireguard/blob/master/lib/puppet/functions/wireguard/genkey.rb#L33-37]\n\nWorks fine when executing via puppet:\n{code:java}\nmkdir /tmp/wg; puppet apply --debug --modulepath=. -e 'notice wireguard::genkey(\"bla\",\"/tmp/wg\")' {code}\nBut using it in manifests compiled by puppet server it always fails:\n{code:java}\n 2019-12-02T08:21:04.128+01:00 WARN  [qtp1118617827-32364] [c.p.p.ShellUtils] Executed an external process which logged to STDERR: /usr/bin/wg: Key is not the correct length or format2019-12-02T08:21:04.191+01:00 ERROR [qtp1118617827-32364] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Execution of '/usr/bin/wg pubkey' returned 1:  (file: /srv/puppet/code/environments/production/modules/mymodule/manifests/vpn.pp, line: 10, column: 12) on node host.example.com\nuri:classloader:/puppetserver-lib/puppet/server/execution.rb:50:in `execute'\nuri:classloader:/puppetserver-lib/puppet/server/execution.rb:14:in `block in initialize_execution_stub'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:222:in `execute'\n/srv/puppet/code/environments/production/modules/wireguard/lib/puppet/functions/wireguard/genkey.rb:33:in `gen_pubkey'\n/srv/puppet/code/environments/production/modules/wireguard/lib/puppet/functions/wireguard/genkey.rb:54:in `genkey'{code}\nThe error message logged to stder from the wireguard (wg) binary indicates that the process cannot properly read stdin from the passed stdinfile.\n\nHowever, as the example above shows it works fine when using through puppet apply.\n\n\u00a0\n\nIt seems execute using stdinfile is broken on puppetserver.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16270", "fixedVersions": [], "id": "16270", "issueType": "Bug", "key": "SERVER-2683", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b3c84fe01d006ba5c5e3", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet::Util::Execution.execute using stdinfile does not work on puppetserver", "timeSpent": "PT0S", "updated": "2022-03-08T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "70121:d003824d-392f-493a-8486-54e1dec7a69e", "created": "2019-11-27T01:54:00.000000", "name": "puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11209"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Version 4 of Puppet and 2.8 of Puppet Server are no longer supported. If this problem persists with an up-to-date version of Puppet Server, please reopen this ticket.\n\nWe have done significant work around the way we pull in our Bouncy Castle dependency recently, so there is a good chance that a  more recent version of the Server will fix your issue.", "created": "2019-12-12T17:37:00.000000"}], "components": ["Puppet Server"], "created": "2019-11-27T01:55:00.000000", "creator": "70121:d003824d-392f-493a-8486-54e1dec7a69e", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b741e42"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzyp6v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1352513105_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:\u00a0 4.10.12*\n *Puppet Server Version: 2.8.1*\n *OS Name/Version: CentOS 7*\n\nAfer a restart of the VM we are unable to start puppetserver and are getting an error saying NoClassDefFoundError jopenSsl/load. Logs can be found below.\n\nPuppetserver was working as expected before we rebooted but it doesn't seem to want to start post reboot.\n\n*Desired Behavior:*\n\nPuppetserver should start\n\n*Actual Behavior:*\n\nDoes not start and errors out.\n\n\u00a0\n\n\u00a0\n\n*Logs:*\n\n**attached logs are below.\n\n[^puppetserver.log]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15747", "fixedVersions": [], "id": "15747", "issueType": "Bug", "key": "SERVER-2682", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:d003824d-392f-493a-8486-54e1dec7a69e", "resolution": "Won't Fix", "resolutionDate": "2019-12-12T17:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "NoClassDefFoundError - After reboot", "timeSpent": "PT0S", "updated": "2019-12-12T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [], "components": [], "created": "2019-11-26T15:43: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@640b5738"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke7z:"}, {"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_*:*_610633851_*|*_1_*:*_1_*:*_17194_*|*_10007_*:*_1_*:*_828232_*|*_3_*:*_2_*:*_1780512291_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_3123519651"}], "description": "The metrics tests in puppetserver currently fail and/or error badly in many different ways with when {{multithreaded}} is enabled. In some cases, this seems to be just that some metrics have different values than the hard-coded expected values, but I think it would be good to do a more thorough review of the metrics that we're collecting and the names we're using for them, to make sure they still make sense in the multithreaded model.\n\nProbably if there are some that don't make sense, we should add new ones rather than changing existing names or implementations, to ensure backwards compatibility.\n\nRun tests with {{lein test :only puppetlabs.services.jruby.jruby-metrics-service-test}}", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16866", "fixedVersions": ["SERVER 6.9.0"], "id": "16866", "issueType": "Task", "key": "SERVER-2681", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-01-29T11:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Review metrics semantics and collection for multithreaded JRuby pool", "timeSpent": "PT0S", "updated": "2020-01-29T11:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Draft PR with current approach: https://github.com/puppetlabs/puppetserver/pull/2251\n\nStill need to:\n* udpate Travis to add new cells for Java 8 and 11 running in multithreaded mode\n* filter out tests that are currently failing in multithreaded mode\n\nWriting new tests or updating some of those should be covered in a separate ticket.", "created": "2020-01-07T11:46:00.000000"}], "components": [], "created": "2019-11-26T14: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@74e5d30c"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke7r:"}, {"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_*:*_83828878_*|*_1_*:*_1_*:*_10676_*|*_10007_*:*_1_*:*_92924855_*|*_3_*:*_2_*:*_776649035_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_3376542069"}], "description": "In order to ensure that Puppet continues to work with both the traditional JRuby pool and the multithreaded one, we should test both varieties on PRs. This requires the multithreaded setting to be adjustable from the outside, most likely via an environment variable.\n\nCertain tests assume multiple JRubies (e.g. https://github.com/puppetlabs/puppetserver/blob/master/test/integration/puppetlabs/services/jruby/puppet_environments_int_test.clj#L64). Part of this work to is audit those and determine if they should simply be skipped when testing with {{multithreaded}}, if they can be reworked to pass in both implementations, or if a different version needs to be written for the {{multithreaded}} mode.\n\nOnce it is configurable in that way, we should update Travis to add a cell running multithreaded.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "14821", "fixedVersions": ["SERVER 6.9.0"], "id": "14821", "issueType": "Task", "key": "SERVER-2680", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-01-15T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Paramterize puppetserver tests to run them with multithreaded pool", "timeSpent": "PT0S", "updated": "2020-02-12T11:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] do you have an easy way to reproduce the bad logging you saw, besides running tests? ", "created": "2020-01-14T14:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah if you run Patrick's {{thread_test}} stuff, there should be some of this in the server logs, I think.", "created": "2020-01-14T15:09:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "I haven't added this to the 6.13.0 release notes, as Justin said\u00a0it was fixed before the release date.\u00a0", "created": "2020-02-17T04:32:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "I think that's fine, since we didn't actually ship the new architecture in 6.8.0. ", "created": "2020-02-18T11:34:00.000000"}], "components": [], "created": "2019-11-26T10:00: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@6379834d"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykecn:"}, {"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 multithreaded mode, event logging will reference the active thread's ID, rather than the JRuby instance ID. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_670725218_*|*_1_*:*_1_*:*_10498_*|*_10007_*:*_1_*:*_342880116_*|*_3_*:*_2_*:*_442780652_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_4079696418"}], "description": "When running with the new ReferencePool inside of Puppet Server, it seems that not all borrow and return events are being registered properly, despite borrowing and returning seeming to work correctly. It is logging things like:\n{code}\n2019-11-25 15:34:23,033 WARN  [qtp1521024391-236] [p.s.j.jruby-metrics-core] JRuby instance '1' borrowed, but it appears to have already been in use!\n2019-11-25 15:34:23,132 WARN  [nRepl-session-df4fce2c-67d7-4a0b-b293-e5a68d71c767] [p.s.j.jruby-metrics-core] JRuby instance '1' returned, but no record of when it was borrowed!\n2019-11-25 15:34:24,063 WARN  [qtp1521024391-239] [p.s.j.jruby-metrics-core] JRuby instance '1' borrowed, but it appears to have already been in use!\n2019-11-25 15:34:24,155 WARN  [nRepl-session-df4fce2c-67d7-4a0b-b293-e5a68d71c767] [p.s.j.jruby-metrics-core] JRuby instance '1' returned, but no record of when it was borrowed!\n2019-11-25 15:34:24,955 WARN  [qtp1521024391-236] [p.s.j.jruby-metrics-core] JRuby instance '1' borrowed, but it appears to have already been in use!\n2019-11-25 15:34:25,034 WARN  [nRepl-session-df4fce2c-67d7-4a0b-b293-e5a68d71c767] [p.s.j.jruby-metrics-core] JRuby instance '1' returned, but no record of when it was borrowed!\n{code}\n\nThis occurs both when running the server normally and in tests (e.g. https://github.com/puppetlabs/puppetserver/blob/master/test/integration/puppetlabs/services/jruby/puppet_environments_int_test.clj).\n\nThis might be because we can now borrow an instance with the same ID multiple times, or it might be because some code paths do not correctly trigger the events.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16269", "fixedVersions": ["SERVER 6.9.0"], "id": "16269", "issueType": "Bug", "key": "SERVER-2679", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-01-29T11:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Fix borrow and return event logging for ReferencePool", "timeSpent": "PT0S", "updated": "2020-02-18T11:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Job link: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1223/LAYOUT=redhat8-64ma-windows2008r2-64a,LDAP_TYPE=default,label=beaker/testReport/junit/(root)/acceptance_suites_pre_suite_foss/90_validate_sign_cert_rb/", "created": "2019-11-25T09:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Here's an example on a non-Windows machine:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1230/LAYOUT=redhat8-64ma-64a,LDAP_TYPE=default,label=beaker/testReport/junit/(root)/acceptance_suites_pre_suite_foss/90_validate_sign_cert_rb/", "created": "2019-12-10T16:43:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Again, twice this time, two redhat8 masters, and a windows agent. https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1235/", "created": "2019-12-16T09:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Again on redhat8-windows2008 https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_full-master/967/LAYOUT=redhat8-64ma-windows2008r2-64a,LDAP_TYPE=default,label=beaker/testReport/junit/(root)/acceptance_suites_pre_suite_foss/90_validate_sign_cert_rb/\n\nMaybe redhat8 is the common denominator.", "created": "2019-12-18T10:12:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is still happening even with the retry logic. (Though it might be less frequent)\n\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_full-master/1014/LAYOUT=redhat8-64ma-windows2008r2-64a,LDAP_TYPE=default,label=beaker/testReport/junit/(root)/acceptance_suites_pre_suite_foss/90_validate_sign_cert_rb/", "created": "2020-03-13T09:53:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Happened again on redhat8:\n\n[https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_integration-system_no-conditional_full-master/1071/LAYOUT=redhat8-64ma-64a,LDAP_TYPE=default,label=beaker/]", "created": "2020-06-15T15:40:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Tony tried to fix this by adding retry logic, but it didn't help. https://github.com/puppetlabs/puppetserver/blob/319fac1df276f862c7b4aa57f8f36380020e31f3/acceptance/lib/helper.rb#L119-L131", "created": "2020-08-03T16:16:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This just happened twice in a row:\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_integration-system_no-conditional_smoke-master/LAYOUT=redhat8-64ma-windows2008r2-64a,LDAP_TYPE=default,label=beaker/1404/\nhttps://jenkins-master-prod-1.delivery.puppetlabs.net/job/platform_puppetserver_integration-system_no-conditional_smoke-master/LAYOUT=redhat8-64ma-windows2008r2-64a,LDAP_TYPE=default,label=beaker/1405/", "created": "2020-08-04T21:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "In one full week of runs following the most recent fix, this has yet to appear again. Closing. We can always reopen if it shows up again.", "created": "2020-08-31T12:12:00.000000"}], "components": [], "created": "2019-11-25T09:22:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7a0fb561"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwla1:z"}, {"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": "15/Jun/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_525077778_*|*_1_*:*_1_*:*_6938961488_*|*_10007_*:*_1_*:*_321560597_*|*_3_*:*_2_*:*_86019854_*|*_4_*:*_1_*:*_5720737059_*|*_5_*:*_1_*:*_2067054408_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_8539204883"}], "description": "Sometimes in cells with a redhat8 master, the [90_validate_sign_cert|https://github.com/puppetlabs/puppetserver/blob/master/acceptance/lib/helper.rb#L121] pre-suite in puppetserver will fail to autosign a cert, like so:\n{code}\n# ...after setting autosign to true...\nvernal-bean.delivery.puppetlabs.net (redhat8-64-1) executed in 6.36 seconds\nRuntimeError: PuppetAcceptance::DSL::Helpers.with_puppet_running_on failed (check backtrace for location) because: Host 'jungian-emperor.delivery.puppetlabs.net' exited with 1 running:\n cmd.exe /c puppet agent --test --server vernal-bean.delivery.puppetlabs.net\nLast 10 lines of output were:\n\tInfo: Creating a new RSA SSL key for jungian-emperor.delivery.puppetlabs.net\n\tInfo: csr_attributes file loading from C:/ProgramData/PuppetLabs/puppet/etc/csr_attributes.yaml\n\tInfo: Creating a new SSL certificate request for jungian-emperor.delivery.puppetlabs.net\n\tInfo: Certificate Request fingerprint (SHA256): C4:2B:22:57:9C:7C:80:B2:2C:50:7C:EE:3C:23:FB:29:58:B3:1A:5F:84:00:90:EC:AF:61:97:B1:7C:AA:58:29\n\tInfo: Certificate for jungian-emperor.delivery.puppetlabs.net has not been signed yet\n\tCouldn't fetch certificate from CA server; you might still need to sign this agent's certificate (jungian-emperor.delivery.puppetlabs.net).\n\tExiting now because the waitforcert setting is set to 0.\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17498", "fixedVersions": ["SERVER 5.3.15", "SERVER 6.14.0"], "id": "17498", "issueType": "CI Blocker", "key": "SERVER-2677", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-08-31T12:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Transient: 90_validate_sign_cert fails to sign the cert", "timeSpent": "PT0S", "updated": "2020-08-31T12:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:8f1e0495-1d4a-4123-bbad-727b7f49f370", "body": "Puppet 6 re-implemented several stdlib functions as 4x functions, and they therefore now validate their inputs as such. This was an intentional change compared to the Puppet 5 implementations. ", "created": "2019-11-25T10:48:00.000000"}], "components": ["Puppet Server"], "created": "2019-11-25T05:45:00.000000", "creator": "623c091501f8660070b6fa06", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38b392ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzynjz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18240697_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: OS 6.11.1* el7\n *Puppet Server Version: OS 7.6.2 el7*\n *OS Name/Version: CentOS 7.7.1908*\n\n\u00a0\n\n*Desired Behavior:*\n\nsize(null) should return 0\n\n*Actual Behavior:*\n\n\u00a0\n\nLooks like puppet6 doen't handle undef values for the size() function as puppet5 did.\n\nIMHO, undef shouldn't be an issue for this function. Puppet 6.0.0 release notes state that \"the functions are generally backward compatible\" and point to PUP-8604.\n\nHowever :\n\n\u00a0\n{code:java}\n// puppet6 :\n# puppet apply -e 'notice(size(undef))'\nError: Evaluation Error: Error while evaluating a Function Call, 'size' parameter 'arg' expects a value of type Collection, String, or Binary, got Undef (line: 1, column: 8) on node node07.datagrid.cea.fr\n\n// puppet5 - puppet-agent-5.5.17-1.el7.x86_64 :\n# puppet apply -e 'notice(size(undef))'\nNotice: Scope(Class[main]): 0\nNotice: Compiled catalog for xxxx in environment production in 0.02 seconds\nNotice: Applied catalog in 0.59 seconds\n\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17497", "fixedVersions": [], "id": "17497", "issueType": "Bug", "key": "SERVER-2676", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c091501f8660070b6fa06", "resolution": "Won't Fix", "resolutionDate": "2019-11-25T10:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet6 size fails to handle Undef", "timeSpent": "PT0S", "updated": "2019-11-25T10:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-11-15T11:22: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@6537dc6a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzyi2f:"}, {"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_*:*_88987676_*|*_1_*:*_1_*:*_19738_*|*_10007_*:*_1_*:*_231079682_*|*_3_*:*_1_*:*_21160651_*|*_5_*:*_1_*:*_0"}], "description": "See https://github.com/jruby/jruby/issues/5971. This is currently hitting us when trying to install gems for running Puppet's spec tests. It fails immediately after installing bundler:\n{code}\n09:48:40 + /usr/local/bin/lein-2.9.1 run -m org.jruby.Main -e 'load \"META-INF/jruby.home/bin/rake\"' spec\n09:48:50 Ignoring executable-hooks-1.6.0 because its extensions are not built. Try: gem pristine executable-hooks --version 1.6.0\n09:48:50 Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0\n09:48:50 Error loading packaging rake tasks: no such file to load -- packaging\n09:48:50 /tmp/jenkins/workspace/platform_puppetserver_unit-jruby_master/JDK/oraclejdk8/label/unit/Rakefile:156: warning: Dir.exists? is a deprecated name, use Dir.exist? instead\n09:48:50       GEM_HOME='/tmp/jenkins/workspace/platform_puppetserver_unit-jruby_master/JDK/oraclejdk8/label/unit/vendor/test_gems' GEM_PATH='/tmp/jenkins/workspace/platform_puppetserver_unit-jruby_master/JDK/oraclejdk8/label/unit/vendor/test_gems'       /usr/local/bin/lein-2.9.1 run -m org.jruby.Main       -e 'load \"META-INF/jruby.home/bin/gem\"' install -i '/tmp/jenkins/workspace/platform_puppetserver_unit-jruby_master/JDK/oraclejdk8/label/unit/vendor/test_gems' bundler -v '< 2' --no-document --source 'https://artifactory.delivery.puppetlabs.net/artifactory/api/gems/rubygems/'\n09:48:50 WARNING: You have $CLASSPATH set, probably by accident.\n09:48:50 It is strongly recommended to unset this before proceeding.\n09:49:05 Successfully installed bundler-1.17.3\n09:49:05 1 gem installed\n09:49:05 rake aborted!\n09:49:05 Errno::ENOENT: No such file or directory - No such file or directory\n09:49:05 /tmp/jenkins/workspace/platform_puppetserver_unit-jruby_master/JDK/oraclejdk8/label/unit/Rakefile:165:in `block in <main>'\n09:49:05 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/rake-12.0.0/exe/rake:27:in `<main>'\n{code}\n\nWe need to downgrade back to 9.2.8 until this issue is fixed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16268", "fixedVersions": ["SERVER 6.7.2"], "id": "16268", "issueType": "Bug", "key": "SERVER-2674", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-11-19T10:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRuby 9.2.9.0 crashes when using `system()`", "timeSpent": "PT0S", "updated": "2019-11-19T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [{"attacher": "623a4a36a95758006959ff56", "created": "2019-11-15T02:03:00.000000", "name": "Screenshot 2019-11-15 at 09.32.35.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10815"}, {"attacher": "623a4a36a95758006959ff56", "created": "2019-11-15T02:03:00.000000", "name": "Screenshot 2019-11-15 at 09.32.40.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10746"}, {"attacher": "623a4a36a95758006959ff56", "created": "2019-11-15T02:03:00.000000", "name": "Screenshot 2019-11-15 at 09.32.49.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10674"}, {"attacher": "623a4a36a95758006959ff56", "created": "2019-11-15T02:17:00.000000", "name": "Screenshot 2019-11-15 at 10.17.18.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10590"}, {"attacher": "623a4a36a95758006959ff56", "created": "2019-11-29T06:33:00.000000", "name": "Screenshot 2019-11-29 at 14.33.13.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10747"}, {"attacher": "623a4a36a95758006959ff56", "created": "2019-11-29T06:51:00.000000", "name": "Screenshot 2019-11-29 at 14.49.39.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10816"}, {"attacher": "623a4a36a95758006959ff56", "created": "2020-01-09T02:28:00.000000", "name": "Screenshot 2020-01-09 at 10.27.59.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10818"}, {"attacher": "623a4a36a95758006959ff56", "created": "2020-01-08T10:54:00.000000", "name": "image-2020-01-08-18-54-39-953.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10817"}, {"attacher": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "created": "2019-11-29T14:23:00.000000", "name": "puppetserver-cpu.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10968"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Somethings that would be helpful:\n\nWhat do the machines/vms that the servers are running on look like? (number of cpus, ram)\nHow is puppet server configured? (max-requests-per-instance, max-instances, ...)\nHow is the JVM configured? (Xms, Xmx, GC tuning, Metaspace, Codecache, ...)\n\nIn general, we've seen a small percent overall increase of heap usage, additional CPU usage after a new jruby worker is spun up (after max-requests has been hit), but followed by a decrease in CPU usage and higher throughput than 5.x after 50ish catalog runs. Unfortunately, we've also seen a rather large amount of additional off-heap usage in the upgrade - Metaspace and Codecache usage.\n", "created": "2019-11-15T10:21:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "The Physical hosts are using Intel E5-2643 @ 3.30GHz with 16 cores and have 256 GB RAM, storage is LVM (no thinpool) on RAID 6 made from 7 x Crucial SSDs.\n\nThe three VMs are all on different physical hosts and each has 8 CPU cores and 16GB of RAM.\n\nin /etc/default/puppserver we have\u00a0-Xms8172M -Xmx8172M (half the ram of the VM). Garbage collection and metaspace are not set so I assume they use some defaults.\n\nWe were initially with\u00a0openjdk-8-jre-headless, which was kept after the upgrade to puppetserver 6. We also tried the\u00a0openjdk-11-jre-headless, but there was no change in the performance.\n\nThe\u00a0max-requests-per-instance was a default of 0 on out puppet 5 environment, after the upgrade when we saw the drop in performance we tried to modify this value, setting it to 1000, 10000, 50000 but again there was no change in the performance.\n\nThe\u00a0max-active-instances setting we had set to 10 in puppetserver 5, which is our CPUs +2. We also experimented with CPUs - 2, as well as CPUs / 2, but the CPU utilization was still much higher than the one with puppetserver 5.", "created": "2019-11-18T01:58:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "I have the exact same issue after upgrading directly from 4.9 to 6.10.1, same performance penalty, 3-4x higher CPU load.\n\nFrom my observation, the agents become slower because the server takes a lot more time now to serve File resources data. this can be observed with --evaltrace --summarize. Catalog compilations are mostly between 1 and 5 seconds.\n\nMy master VM serves 300+ agents with runinterval 900 and splay on. I was running 4.9 with 8 vcpu's (ESXI 6.5, Xeon E5-3660 2.6Ghz) with < 33% CPU load, then 100% with 6.10.1. Now running with 12 vCPU's so other processes can breathe a bit, bringing load to ~75%. 32GB RAM total, puppetserver set to 8GB heap size and 1GB code cache size. max-active-instances: 10.\n\n\u00a0I use the RPM packages for EL7 (running CentOS 7.7).", "created": "2019-11-25T10:29:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "We were able to resolve the load issues and the servers are stable as before.\n\nWhat I changed was the\u00a0*max-active-instances*, reducing from (total CPUs 8 + 2 = 10) to 4. (I guess each jruby instance is much heavier than before)\n\nI also added to the /etc/default/puppetserver \"-XX:ReservedCodeCacheSize=1G\". (Not sure if it was needed but it works good with it)\n\n\"-Xms and -Xmx\" are still set to 8GB.\n\nIn our environment it seems to be enough with the above resources and the graphs seem much better.\n\nExcept for the fact that Java is using almost all of the 16GB of memory of the VM instead of the allowed 8GB and the fact that the VMs used to utilize ~10% of the CPU and now it is more like ~17% we are satisfied with the outcome.\n\n!Screenshot 2019-11-29 at 14.33.13.png|width=199,height=109!\n\n!Screenshot 2019-11-29 at 14.49.39.png|thumbnail!\n\n\u00a0", "created": "2019-11-29T06:52:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "\u00a0[~accountid:623a4a36a95758006959ff56], what about your agents, are they able to process the catalogs as fast as before also? Did you compare agent side with --evaltrace ?", "created": "2019-11-29T07:02:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "Unfortunately I have no data about the agents before, since the reports that we have in Foreman go for 7 days only. Visutally however I feel they run with the same speed \u00b1 5 sec from a total of ~60. I did the --evaltrace while testing but I did not spot a resource that slows down the whole run. After the catalog is compiled on the master and sent to the agent it runs pretty much the way it did before the upgrade.", "created": "2019-11-29T07:13:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Ok, thanks. Good that you were able to mitigate, but I still think the situation with the jruby instances is not normal, it was a very dramatic increase in CPU usage. I hope this issue gets some attention from the dev team.", "created": "2019-11-29T07:28:00.000000"}, {"author": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "body": "I can confirm that [~accountid:623a4a36a95758006959ff56]'s config change has had similar results in my test. A Puppetserver 6.7.2 (which until a few days ago was 6.6.0) was using excessive amounts of CPU, and would \"get stuck\" after a 2-6 hours. When stuck the process wouldn't terminate and had to be killed, and all agents would time out.\n\nAfter reducing \\{{max-active-instances}} and setting \\{{-XX:ReservedCodeCacheSize=1G}} I see much lower load, the server hasn't gotten stuck again, and the variance in load from average seems lower too:\n\n!puppetserver-cpu.png!\n\nIn the graph the server is \"stuck\" when utilization jumps to >40%. The times when load drops are caused by restarts. The config changes were made today around 16:00 \u2013 so far so good! Thanks [~accountid:623a4a36a95758006959ff56]!", "created": "2019-11-29T14:25:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Not much result for me. In fact, restarting the service is something I really avoid, as for some reason things are extremely slow for some hours to the point most agent runs timeout.", "created": "2019-11-29T19:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "IIRC, our tuning recommendations for enterprise customers is 0.75-1.25 Gb per worker instance (JRuby) depending on users typical catalog complexity, with the update from JRuby 1.7 (Puppet 5.x or our LTS-1) to 9k (Puppet 6.x or our current LTS) requiring around 10% more heap (and some additional CPU when first warming up) but also slightly higher throughput once warm and meaningfully more off-heap memory.\n\nI think the recommendation for enterprise users is a little less than 100 Mb of CodeCache per instance (with MetaSpace being unmanaged & unlimited by default) plus some base amount. I believe most enterprise users have their CodeCache automatically managed for them by some supported modules and are in the 1-2 Gb range.\n\n`max-requests` of 0, iiuc, is equivalent to \"never\" and should have the smallest affect on non-heap memory save for a leak. The lower the `max-requests` setting is the more off-heap memory will be required.\n\nI'm glad to see you've somewhat resolved the current problem, and I apologize for not getting back to this sooner. We need to make the upgrade guides clearer about issues that may be encountered when upgrading. I would hope that if you were running with 8 vCPUs and 8G Xmx you'd be able to run with a `max-instances` of 6-10, and w/o having to reduce the number of instance more than 1 less than previous (assuming you still include the larger CodeCache).\n\nWe are also currently working on ways to lessen the issues Puppet has when using 9k. Which is a question I have, for the thread in general and [~accountid:557058:6d9f4174-bf47-424d-a46a-6940b2255f29]\u00a0in particular, did you see a particularly performance regression when moving between Puppet Server 6.6 and 6.7? We upgraded our JRuby version in that release and need to understand if this issue falls in the \"general improvements to 9k\" bucket, or is an issue with a specific version of 9k we bumped to in Puppet Server 6.7 (Puppet Platform 6.10, I think).", "created": "2019-12-02T12:57:00.000000"}, {"author": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "body": "Hi [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]!\n\nSorry, I don't have have clear metrics on performance between 6.6 and 6.7. The Puppetserver in question was only upgraded recently and it was only upgraded after the performance degraded massively. Looking back on the load graphs it might have started all the way back before 6.4, but that's just a guess.\n\nWhen we upgraded from 6.5 to 6.6 in late September the load average seems to have risen about 5 percentage points, but our long term metrics for that period aren't detailed enough that I can say that it was caused by Puppetserver alone. This [Reddit thread|https://www.reddit.com/r/Puppet/comments/dto5rl/very_high_load_after_upgrade_from_49_to_610/] on November 9 was what prompted me to take a closer look, but this particular Puppetserver was acting up before then. I'm afraid that this anecdata is the best I can do, sorry.", "created": "2019-12-03T01:38:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That's good to know.\n\nI was actually really hoping to see a performance improvement in the last release of the platform. JRuby 9.2.8 that we shipped in 6.7 is supposed to contain some memory improvements (with more to come in 2.9.2). And I overhauled PuppetStack in the very last release (so the deprecation, return, break, and next functions, along with many warnings should all be much faster). I also haven't been on Reddit, I'll have to check that out.\n\nThere's a couple of other issues mentioned in this ticket, if I'm reading it correctly.\n\nIt looks like [~accountid:623a4a36a95758006959ff56], was bit by the CodeCache increased requirements (can those who felt like that fixed their issue see if when after increasing CodeCache you can continue with the same number of JRuby instances (or maybe one less JRuby instance per host)?\n\nAnother issue I read about in here was non-heap memory expanding to take up most of 16 Gbs? I would expect with CodeCache set to 1G, Metaspace would take up a similar amount, leading a Server process with 8G of heap to use ~10G total. Note, lower max-requests will cause more off-heap memory. [~accountid:623a4a36a95758006959ff56], can you confirm that with a max-requests setting of 100,000 or higher the server continues to take up nearly as much off-heap as heap memory?\n\nFinally, I haven't heard the file resource problem before. I suspect it's a different category of problem. [~accountid:557058:cb2d2b33-d386-421f-b76d-c0528b64a800], can you tell me more about it? Is it file resource serving or file metadata, or directory metadata? Are there specific files that are taking longer than others? (like binary vs text, or do larger files take exponentially longer than short ones) Are you using static catalogs, or custom mount points? If so how are they configured?", "created": "2019-12-03T16:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I created\u00a0DOCUMENT-1069 to update our tuning guide. I linked a page that someone pointed out to me, if there's other pages that you've seen that need updating, or should mention this kind of thing (or link to it), please let me know (here or in the DOC ticket).", "created": "2019-12-05T13:42:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0thanks for all the info. It's metadata, and does not seem specific to some files or their size, it's noticeable even with the small stuff. It's all text, no custom mount points, and I'm not using static catalogs. I thought about disk IO contention, but it's not the case.\n\nThe only thing I haven't tried is to give more heap, and reduce max-active-instances from 10 to 8 (I tried with 4 and it was a disaster). For heap I'll try 12GB instead of 8GB and see if that also helps. Other than that, I think my settings are actually on par with what I've read. 8GB for 10 max-instances, and 1GB codecache.\u00a0", "created": "2019-12-05T20:45:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "I took a closer look at the evaltrace output. One run took 210 seconds, 175 of which spent on File. These are things like shell scripts, python scripts, certificates, service configuration files, very normal linux stuff. Total of 221 files.\n\nOne thing that seems odd in the evaltrace is that some files are apparently evaluated really quickly (\"Evaluated in 0.00 seconds\". But then comes some (that can be of the same type) that take 1,2,3,4 seconds, and it's just a small config file. So, for 87 small files, it takes 172 seconds if I sum them all, that's almost average of 2 seconds for each file. For the remaining 134 files, it registers 0.00.\n\nAnother agent run some minutes later (same machine) shows pretty much the same thing, just one second total of difference in the time spent on File. Also, it's again the *same* files, just different times between them. For example one that took almost 5 seconds before now took 0.78. But in the end, the sum is pretty much the same This I find very interesting. Any idea about this?\n\nUpdate: tested with another machine's agent, and the result is the same, same time, same files.\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2019-12-05T21:35:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Do those files live in a particular location (like a different filesystem, or in modules vs outside of modules on the file system, or in custom mounts)?\n\nIs it possible that the troublesome files are not valid UTF8? There are some character points that will cause Puppet to stop using JSON and fallback to much slower PSON.\n\nIs there a commonality between how these are represented in Puppet Code? Like are these all file resources that use templates? (there are other ways that template rendering could slow down).\n\nIs it possible for you to share the puppet code that manages one of these slow files (as well as the file source content, whether a file or template)?", "created": "2019-12-06T12:12:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Regular local xfs partition, all within /etc/puppetlabs/code/environments/production/modules/*/files.\n\nI can check for UTF8 (I guess iconv would be good for that).\n\nTemplating not involved.\n\nI will take a look at snippets I can share.\n\n\u00a0", "created": "2019-12-06T12:49:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Also, are these file_content or file_metadata requests that are taking a long time? Are you using a non-English locale? (Someone just reminded me that there was a weird file_metadata issue a while back when using Norwegian, trying to find out more about that)", "created": "2019-12-06T12:50:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "A coworker also just pointed out PA-3024 to me, which could cause Puppet to pull down new files every time (including pluginsynced files, which can take a while). Can you confirm that is or isn't what you're seeing?", "created": "2019-12-06T13:16:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Regarding PA-3024, I'm not retrieving files from a remote web server, so I don't think it applies.\n\nThe requests are for file_metadata.\n\nUsing English locale.\n\nI tried lowering my instances from 10 to 8, while also raising max heap from 8 to 12. This was 4 hours ago, and things are not yet stable.\n\nGetting a few of these: 2019-12-06T23:07:30.784Z ERROR [qtp496930519-273] [p.r.core] Internal Server Error: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 30001/30000 m.\u00a0\n\nAnd these:\u00a0\n\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:51:in `handleRequest'\n2019-12-06T22:07:48.432Z ERROR [qtp496930519-180] [puppetserver] Puppet Report processor failed: Cannot allocate memory [...]\n\nGoing to raise instances back to 10.\n\nI did ran with profile for a while, until puppetserver stopped logging altogether, and I removed the setting and restarted. Was not running with root level=debug though.\n\nHere's an example:\n\n2019-12-06T18:55:36.098Z INFO [qtp1603990586-192837] [puppetserver] Puppet PROFILE [1060340954] 1.1 Rendered result in Puppet::Network::Format[json]: took 0.0003 seconds\n2019-12-06T18:55:36.099Z INFO [qtp1603990586-192837] [puppetserver] Puppet PROFILE [1060340954] 1.2 Sent response: took 0.0001 seconds\n2019-12-06T18:55:36.099Z INFO [qtp1603990586-192837] [puppetserver] Puppet PROFILE [1060340954] 1 Processed request GET /puppet/v3/file_metadata/modules/whatever/whatever.conf: took 5.7391 seconds\n2019-12-06T18:55:36.099Z INFO [qtp1603990586-192837] [puppetserver] Puppet AGGREGATE PROFILING RESULTS:\n2019-12-06T18:55:36.099Z INFO [qtp1603990586-192837] [puppetserver] Puppet ----------------------------\n2019-12-06T18:55:36.100Z INFO [qtp1603990586-192837] [puppetserver] Puppet http: 5.739481 s (3 calls)\n2019-12-06T18:55:36.100Z INFO [qtp1603990586-192837] [puppetserver] Puppet http -> GET: 5.739108 s (1 calls)\n2019-12-06T18:55:36.100Z INFO [qtp1603990586-192837] [puppetserver] Puppet http -> GET -> /puppet/v3/file_metadata/modules/whatever/whatever.conf: 5.739108 s (1 calls)\n2019-12-06T18:55:36.100Z INFO [qtp1603990586-192837] [puppetserver] Puppet http -> v3_render: 0.000282 s (1 calls)\n2019-12-06T18:55:36.100Z INFO [qtp1603990586-192837] [puppetserver] Puppet http -> v3_render -> Puppet::Network::Format[json]: 0.000282 s (1 calls)\n2019-12-06T18:55:36.101Z INFO [qtp1603990586-192837] [puppetserver] Puppet http -> v3_response: 9.1e-05 s (1 calls)\n2019-12-06T18:55:36.101Z INFO [qtp1603990586-192837] [puppetserver] Puppet ----------------------------\n\nFile whatever.conf is 18 bytes of text, and is good for UTF-8. Doesn't always take this long though.\u00a0", "created": "2019-12-06T16:27:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "By the way, even after a couple of restarts of puppetserver, the list of \"slow files\" remains the same.", "created": "2019-12-06T16:39:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Ok, so I reviewed this a bit more closely, and the findings are:\n * Any file that is deployed with content => template is fine, it's evaluated quickly (0.00s)\n * Any file that is deployed with source => 'puppet:///' suffers the issue, except if it's part of a directory deployed with recurse => true. I picked a couple of files, created a dedicated file resource for each, and deployed on top of the recursive resource to confirm the difference. That was surprising, as I assume that checksum is checked for each individual file in a recursive file resource as well.", "created": "2019-12-07T23:08:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "I have meanwhile checked in the source code that for recursive directories, only ctime is checked, not md5sum as in a normal file. I was unaware of this.\n\nSo in a nutshell, my problem seems to be slow checksum calculation for non-recursive file resources using source attribute. Just to put in perspective, a single response to a file_metadata request can take longer than the catalog compilation itself. Usually, compilations oscillate between 2 and 6 seconds, while the cumulative file_metadata responses can take 150 seconds. Of course, checksum calculations may just be affected by other routines causing the CPU usage to be so high. However those don't seem to affect catalog compilation as much...", "created": "2019-12-09T07:25:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That's great investigative work [~accountid:557058:cb2d2b33-d386-421f-b76d-c0528b64a800]! With that completed I'm going to close this ticket because I think we have actionable descriptions of everything encountered here.\n\nI'm going to say the original cause of this ticket was [~accountid:623a4a36a95758006959ff56] code cache issues, which is a big issue with our upgrade docs (and the upgrade process in general). For what I can do about now, I'm going to point others who come across this ticket based on the original description to the docs ticket DOCUMENT-1069. Hopefully, we can help make the new requirements and memory configuration as well known and painless as possible going forward.\n\nThen there's also [~accountid:557058:cb2d2b33-d386-421f-b76d-c0528b64a800]'s issues, of which I think there are two. The main source seems to be a regression in the performance of md5 summing for the metadata endpoint, which is causing a huge slow down for him. For that I've opened PUP-10167. In addition, it seems like we're causing a vicious cycle where our error handling code is causing a dramatic increase in memory pressure, rather than relieving it. To investigate that I've opened SERVER-2689. I'm going to work on SERVER-2689 right now, as I think it is currently affecting several other folks and will turn to PUP-10167 once I've resolved it.\n\nLet me know if that characterization of this ticket and the next steps doesn't seem accurate.", "created": "2019-12-09T12:35:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Sounds good, thanks\u00a0[~accountid:557058:104b5720-714d-4539-b455-df472251ec89].", "created": "2019-12-10T10:40:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "Hi. I thought I'd update here with more recent troubleshooting.\n\nToday I've setup a new compile master in my infra, as the load really needs to be spread, given that there's been periods where agents spend 10 minutes, and I'd say that on everage 9 of those minutes are plainly waiting for files metadata. But, sometimes they take just two minutes, for some reason. Honestly, can't figure out the variation.\n\nUpdate 1) I've changed some file resources to use ctime as \"checksum\" method, and I did not see a variation in performance, still slow. This leads me to believe that while there seems to be a regression in routines around the checksum'ing, the checksum method itself does not seem to matter. I only tested between md5 and ctime though.\n\nUpdate 2) The new compile master, is a VM on another (beefy) ESXi currently with 4 vCPU's and 16GB RAM assigned. I've given it 8GB Xms/Xmx and 2GB code cache, and puppetserver config is default. It's creating 3 instances. I've assigned 20 (twenty) hosts to it. And with only those, load is already at 75%. Agents are still getting things done in total 30-40 seconds, with files averaging 10-15 seconds, which is the expected performance. But, given the current CPU usage already, I think that will start to degrade rather quickly.\n\nThanks.", "created": "2020-01-07T15:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks Rodrigo. Though we've been trying to wrap up some other pressing tasks these last few weeks, I appreciate you checking in and keeping us updated!", "created": "2020-01-07T16:22:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "HI again. Just to note that I now raised the agents on the new compile master from 20 to 32. Time elapsed handling files is now 2.5x to 4x more than with 20 agents.", "created": "2020-01-07T18:44:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "I have now tested on a bare-metal system. This one is a dual-socket 2x8 core Xeon\u00a0E5-2640v3 with HT enabled (32 CPU threads total), and 128GB RAM. No significant disk IO either. 10 jruby instances configured, 8GB RAM for Xms/Xmx, 2GB CodeCache. Only 10 agents assigned for now. CPU usage for the process already oscillating between 500% and 900%.\u00a0\n\nI'm going to try and explore about GC issues.\n\n\u00a0", "created": "2020-01-08T08:03:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "I'm wondering if you have issues in the puppet codebase.\n* Is it possible that you just assign a single agent to the physical puppetserver, run the agent once with --debug / --evaltrace and also enable profiling on the puppetserver? \n* Sorry if I missed it in the thread, but: Are there exported resources in the catalog?\n* do you heavily enforce the resource ordering? Could you provide a catalog graph?", "created": "2020-01-08T08:26:00.000000"}, {"author": "557058:cb2d2b33-d386-421f-b76d-c0528b64a800", "body": "[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68]\u00a0I should note that catalog compilations remain reasonably fast. At least by looking at the numbers logged in puppetserver.log. I'd think issues in the codebase would reflect with a deterioration of the compilations time? But I don't think that's the case. The fact is that catalog compilation doesn't get much faster on an idle master. which is fine because on average they are below 5 seconds anyway. From the agent's perspective, what really starts taking a long time at the master is the processing\u00a0of requests for files metadata, that was observed consistently with evaltrace regardless of the complexity of the catalog processed by each agent. Degradation is proportional to the amount of file resources of type \"file\" and using source => puppet:/// attribute.\n * I can do that.\n * No exported resources\n * Can't say if it's used heavily. It's surely used. Will see about the graph.", "created": "2020-01-08T10:16:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "[~accountid:557058:cb2d2b33-d386-421f-b76d-c0528b64a800] Do you have an approximate number of those resources per agent. We have many agents with *file* and puppet:/// but since we did the changes on our puppetserver the issues stopped. Also what is the number of agents that you have and how often do they run.\n\nThe below graph is one of our puppet code servers for the last 90 days, you can clearly see when the upgrade from 5 to 6 was made and 2 weeks later when the issue was relatively resolved.\n\nLoad average has increased from ~0.7 to ~1.2\n CPU usage has increased from ~7% to ~15%\n Memory usage has increased from ~10.2GB to ~13.6GB\n Context switches have increased from ~950 to ~1.3k\n I see no changes in the I/O on neither the puppet code servers or the agents.\n Setting the max-requests-per-instance from 0 to 10000 or 100000 had no visible effect.\n\n!image-2020-01-08-18-54-39-953.png|width=866,height=326!\n\n\u00a0\n\nAs explained in my previous post, to resolve the issue we had to:\n # Reduce the number of instances per server\u00a0from (total CPUs 8 + 2 = 10) to (total CPUs 8 / 2 = 4). We also tested with 6 instances and the server is stable.\n # Setting\u00a0-XX:ReservedCodeCacheSize=1G in the /etc/default/puppetserver file.\n\nWe have 1 puppetdb server, 3 puppet code servers (also running foreman) and a total of ~250 agents, each running every 20 minutes.\n\nThe total puppet:/// resources we have are 330 but I can not tell how many agents apply how many of these resources.\n\nJust one more thing, from time to time the puppetserver service gets restarted (most likely OOM killed). We haven't had the time to investigate but we had no such issues before the upgrade.", "created": "2020-01-08T11:26:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't know if any of you have checked out the [puppet_metrics_collector|https://forge.puppet.com/puppetlabs/puppet_metrics_collector] or [puppet_metrics_dashboard|https://forge.puppet.com/puppetlabs/puppet_metrics_dashboard]. It's what we often recommend to PE customers and is kinda the standard base line for comparing an installation's metrics.\n\n\u00a0\n\n(I'd also love to see any data you have on the possible OOMs)", "created": "2020-01-08T16:15:00.000000"}, {"author": "623a4a36a95758006959ff56", "body": "Hi,\n\nWe do have puppet metrics pushed to graphite and we plot them with Grafana. This is our puppetboard for the last 90 days on one of our puppet compile masters, where you can see the non-heap usage increasing after the upgrade from ~300MB to ~1.35GB.\n\n!Screenshot 2020-01-09 at 10.27.59.png|width=967,height=506!", "created": "2020-01-09T02:34:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "fwiw, from that graph it looks like you still have a large portion of total jrubies as free jrubies. Unless you have a some very spike-y behavior that you need to keep around a lot of spare jrubies for, you can probably reduce your total max-instances further (which should hopefully also reduce non-heap usage).", "created": "2020-01-09T10:38:00.000000"}, {"author": "623c09d6a2f6400069eb76ca", "body": "I'm currently experiencing this exact same issue on a set of compile masters running puppetserver version 6.7.1.\u00a0 It is unclear from this thread if a resolution has been reached and if a patch has been issued.\u00a0 What is the current status of this issue?", "created": "2020-05-15T16:03:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think things that we discovered here were:\n # Set max-requests-per-instance to a very high number or disable completely (this is a different tuning recommendation from 5.x)\n # Make sure you have plenty of ReservedCodeCache and Metaspace (newly important in 6.x)\n # Because of the heavyweight nature of newer JRuby instances making sure you only have the number of instances you need is very valuable.\n # Some additional improvements that can dramatically help performance went out in Puppet Platform 6.12 (Upgrading to the latest versions are highly recommended).\n\nSomeone else might want to chime in if I missed anything!", "created": "2020-05-15T16:31:00.000000"}], "components": ["Performance"], "created": "2019-11-15T02:18:00.000000", "creator": "623a4a36a95758006959ff56", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24aa6554"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Other"}, {"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|hzyhkn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2110620913_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.10.1*\n *Puppet Server Version: 6.7.1*\n *OS Name/Version: Ubuntu Bionic*\n\nWe have a puppet environment of 3 masters and ~250 clients. One of the masters is also serving CA. We have a HA setup with srv records. When we push our puppet code to our internal git, it gets pushed to the puppet masters and there we have different environments depending on the branch.\n\nOnce we upgraded from puppetserver 5.3 to 6.7.1 the servers started to eat up all the server memory and occasionally die, thus we had to add more ram and CPUs to the VMs, where they are running. The CPU usage of the 3 masters also spiked a lot (see graphs). Also on the clients we noticed a signifficant slowdown in the *puppet agent -t*, which we assume is caused by the slow catalog compilation on the masters. The client's CPU usage, Memory usage and other stats except for the puppet run time seem unchanged. puppetserver.log does not contain any errors. On the attached images can be clearly seen when the upgrade was performed on 12.11.2019 ~ 11:00\n\n*Desired Behavior:*\n\nMake puppetserver run smooth again\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16864", "fixedVersions": [], "id": "16864", "issueType": "Bug", "key": "SERVER-2673", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a36a95758006959ff56", "resolution": "Done", "resolutionDate": "2019-12-09T12:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver 3-4 times more overloaded after upgrade from 5.3 to 6.7.1", "timeSpent": "PT0S", "updated": "2020-05-15T16:31:00.000000", "votes": "7", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-11-11T14:51:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2389781d"}, {"fieldName": "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-10125"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzycdj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2267_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_787282493"}], "description": "(Initial planned release date: 2019-11-19)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-11-20T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "estimate": "PT0S", "externalId": "15069", "fixedVersions": [], "id": "15069", "issueType": "Task", "key": "SERVER-2672", "labels": [], "originalEstimate": "PT0S", "parent": "25434", "parentSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-11-20T17:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2019-11-20T17:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-11-11T14:51:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@789ba72"}, {"fieldName": "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-10125"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzycd3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2355_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_787280126"}], "description": "(Initial planned release date: 2019-11-19)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-11-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "estimate": "PT0S", "externalId": "17496", "fixedVersions": [], "id": "17496", "issueType": "Task", "key": "SERVER-2671", "labels": [], "originalEstimate": "PT0S", "parent": "25434", "parentSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-11-20T17:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2019-11-20T17:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-11-11T14:51:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b71bc64"}, {"fieldName": "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-10125"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzyccv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2366_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_787278541"}], "description": "(Initial planned release date: 2019-11-19)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-11-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "estimate": "PT0S", "externalId": "17148", "fixedVersions": [], "id": "17148", "issueType": "Task", "key": "SERVER-2670", "labels": [], "originalEstimate": "PT0S", "parent": "25434", "parentSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-11-20T17:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2019-11-20T17:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-11-11T14:51:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5ed3e1f1"}, {"fieldName": "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-10125"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzyccn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2326_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_787273606"}], "description": "(Initial planned release date: 2019-11-19)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-11-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "estimate": "PT0S", "externalId": "16863", "fixedVersions": [], "id": "16863", "issueType": "Task", "key": "SERVER-2669", "labels": [], "originalEstimate": "PT0S", "parent": "25434", "parentSummary": "Puppet Platform 6.11.0 Release - 2019-11-19\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-11-20T17:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.7.2)", "timeSpent": "PT0S", "updated": "2019-11-20T17:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "I'm gonna close this until [~accountid:5aa6cd9bfe2b4b24ab21c2f7] has looked into the server team recommendations in ORCH-2397. We can re-open, if appropriate. Thank you!", "created": "2019-12-03T14:30:00.000000"}], "components": [], "created": "2019-11-04T09:13:00.000000", "creator": "5aa6cd9bfe2b4b24ab21c2f7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7465083b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzy6mf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Dec/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2524634395_*|*_6_*:*_2_*:*_37946"}], "description": "In irving, there is a mismatch between the versions of the jruby parts provided by jar-jar and those that are included as part of pcore.\n\npcore is a direct dependency of orchestrator.\njar-jar is a dev-dependency of orchestrator.\n{code:java}\n[puppetlabs/jar-jar \"1.1.1310\" :classifier \"test\" :exclusions [com.andrewmcveigh/cljs-time]] -> [puppetlabs/orchestrator \"2018.1.9.0\"] -> [com.puppet/pcore \"0.1.5\"] -> [org.jruby.joni/joni \"2.1.12\"] -> [org.jruby.jcodings/jcodings \"1.0.21\"]\n and\n[com.puppet/pcore \"0.1.6\"] -> [org.jruby.joni/joni \"2.1.28\"] -> [org.jruby.jcodings/jcodings \"1.0.43\"]{code}\nThis manifests itself as:\n{code:java}\n2019-11-01 10:02:54,274 ERROR [p.t.internal] shutdown-on-error triggered because of exception!\njava.lang.IllegalStateException: There was a problem adding a JRubyInstance to the pool.\n at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval66376$prime_pool_BANG___66381$fn__66385.invoke(jruby_agents.clj:75)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval66376$prime_pool_BANG___66381.invoke(jruby_agents.clj:48)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval66622$send_prime_pool_BANG___66627$fn__66628$fn__66629.invoke(jruby_agents.clj:233)\n at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:387)\n at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:362)\n at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:372)\n at puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:362)\n at puppetlabs.trapperkeeper.internal$eval27230$shutdown_service__27235$fn$reify__27237$service_fnk__18047__auto___positional$reify__27242.shutdown_on_error(internal.clj:427)\n at puppetlabs.trapperkeeper.internal$eval27160$fn__27172$G__27152__27180.invoke(internal.clj:395)\n at puppetlabs.trapperkeeper.internal$eval27160$fn__27172$G__27151__27189.invoke(internal.clj:395)\n at clojure.core$partial$fn__4759.invoke(core.clj:2516)\n at clojure.core$partial$fn__4759.invoke(core.clj:2515)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval66351$send_agent__66356$fn__66357$agent_fn__66358.invoke(jruby_agents.clj:42)\n at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1941)\n at clojure.lang.AFn.applyToHelper(AFn.java:154)\n at clojure.lang.RestFn.applyTo(RestFn.java:132)\n at clojure.lang.Agent$Action.doRun(Agent.java:114)\n at clojure.lang.Agent$Action.run(Agent.java:163)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:748)\nCaused by: org.jcodings.exception.InternalException: encoding class <NonStrictUTF8> not found\n at org.jcodings.Encoding.load(Encoding.java:572)\n at org.jruby.util.KCode.getEncoding(KCode.java:99)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65664$set_config_encoding__65669$fn__65670.invoke(jruby_internal.clj:78)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65664$set_config_encoding__65669.invoke(jruby_internal.clj:73)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65689$set_ruby_encoding__65694$fn__65695.invoke(jruby_internal.clj:89)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65689$set_ruby_encoding__65694.invoke(jruby_internal.clj:84)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65713$init_jruby__65718$fn__65719.invoke(jruby_internal.clj:101)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65713$init_jruby__65718.invoke(jruby_internal.clj:91)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65739$empty_scripting_container__65744$fn__65745.invoke(jruby_internal.clj:111)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65739$empty_scripting_container__65744.invoke(jruby_internal.clj:107)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65762$create_scripting_container__65767$fn__65768.invoke(jruby_internal.clj:121)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65762$create_scripting_container__65767.invoke(jruby_internal.clj:113)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65950$create_pool_instance_BANG___65959$fn__65962.invoke(jruby_internal.clj:210)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval65950$create_pool_instance_BANG___65959.invoke(jruby_internal.clj:186)\n at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval66376$prime_pool_BANG___66381$fn__66385.invoke(jruby_agents.clj:65)\n ... 20 common frames omitted{code}\nThis can be addressed by syncing the versions of jruby bits in puppetserver and pcore.\n\n(direct crib from ORCH-2394 comment by [~accountid:623a49b4bef8a60068c6c973])", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15745", "fixedVersions": [], "id": "15745", "issueType": "Task", "key": "SERVER-2667", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5aa6cd9bfe2b4b24ab21c2f7", "resolution": "Won't Fix", "resolutionDate": "2019-12-03T14:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "mismatch between versions of jruby parts from jar-jar vs. pcore in irving fail orchestrator tests", "timeSpent": "PT0S", "updated": "2019-12-03T14:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Certificate Authority"], "created": "2019-11-01T07:20:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@545f2dd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzy5i7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_32941063905_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41216138454"}], "description": "*Puppet Version:* 6.10.1\n *Puppet Server Version:* 6.7.1\n *OS Name/Version:* Ubuntu 16.04\n\nRequesting all certificates with \"GET /puppet-ca/v1/certificate_statuses/any_key\" may lead to an HTTP 500 error. Probably because the certificate got revoked/cleaned within the same time frame.\n\nThis bug and SERVER-2665 lead to the deactivation of all nodes in PuppetDB in our live setup.\n\n*Desired Behavior:*\n\n/puppet-ca/v1/certificate_statuses/any_key shouldn't fail with an HTTP 500\n\n*Actual Behavior:*\n Access Log\n{code:java}root@syseleven.managementbki1.puppet.ca:/var/log/puppetlabs/puppetserver# zcat puppetserver-access-2019-10-31.0.log.gz | grep -E \"15:50:0[45]\"\n127.0.0.1 - - [31/Oct/2019:15:50:04 +0100] \"PUT /puppet-ca/v1/certificate_status/syseleven.managementbki1.puppet.puppetdashboardplatform01?environment=production HTTP/1.1\" 204 0 \"-\" \"python-requests/2.18.4\" 690 28 -\n127.0.0.1 - - [31/Oct/2019:15:50:04 +0100] \"DELETE /puppet-ca/v1/certificate_status/syseleven.managementbki1.puppet.puppetdashboardplatform01?environment=production HTTP/1.1\" 204 202 \"-\" \"python-requests/2.18.4\" 83 0 -\n127.0.0.1 - - [31/Oct/2019:15:50:05 +0100] \"GET /puppet-ca/v1/certificate_statuses/any_key HTTP/1.1\" 500 182 \"-\" \"PuppetserverCaCli\" 1795 - -\n{code}\nPuppetserver.log\n{code:java}2019-10-31T15:50:04.338+01:00 INFO  [clojure-agent-send-off-pool-1] [o.e.j.u.s.SslContextFactory] x509=X509@10bfe19c(private key,h=[syseleven.managementbki1.puppet.ca],w=[]) for InternalSslContextFactory@53d89efe[provider=null,keyStore=null,trustStore=null]\n2019-10-31T15:50:04.502+01:00 WARN  [qtp1070759982-103] [p.p.certificate-authority] No certificate request for syseleven.managementbki1.puppet.puppetdashboardplatform01 at expected path /etc/puppetlabs/puppet/ssl/ca/requests/syseleven.managementbki1.puppet.puppetdashboardplatform01.pem\n2019-10-31T15:50:05.769+01:00 ERROR [qtp1070759982-130] [p.r.core] Internal Server Error: java.io.FileNotFoundException: /etc/puppetlabs/puppet/ssl/ca/requests/syseleven.managementbki1.puppet.puppetdashboardplatform01.pem (No such file or directory)\n\tat java.io.FileInputStream.open0(Native Method)\n\tat java.io.FileInputStream.open(FileInputStream.java:195)\n\tat java.io.FileInputStream.<init>(FileInputStream.java:138)\n\tat clojure.java.io$fn__11496.invokeStatic(io.clj:229)\n\tat clojure.java.io$fn__11496.invoke(io.clj:229)\n\tat clojure.java.io$fn__11409$G__11402__11416.invoke(io.clj:69)\n\tat clojure.java.io$fn__11508.invokeStatic(io.clj:258)\n\tat clojure.java.io$fn__11508.invoke(io.clj:254)\n\tat clojure.java.io$fn__11409$G__11402__11416.invoke(io.clj:69)\n\tat clojure.java.io$fn__11470.invokeStatic(io.clj:165)\n\tat clojure.java.io$fn__11470.invoke(io.clj:165)\n\tat clojure.java.io$fn__11422$G__11398__11429.invoke(io.clj:69)\n\tat clojure.java.io$reader.invokeStatic(io.clj:102)\n\tat clojure.java.io$reader.doInvoke(io.clj:86)\n\tat clojure.lang.RestFn.invoke(RestFn.java:410)\n\tat puppetlabs.ssl_utils.core$fn__21859$pem__GT_csr__21864$fn__21865.invoke(core.clj:583)\n\tat puppetlabs.ssl_utils.core$fn__21859$pem__GT_csr__21864.invoke(core.clj:577)\n\tat puppetlabs.puppetserver.certificate_authority$fn__37270$get_certificate_status_STAR___37275$fn__37276.invoke(certificate_authority.clj:1355)\n\tat puppetlabs.puppetserver.certificate_authority$fn__37270$get_certificate_status_STAR___37275.invoke(certificate_authority.clj:1347)\n\tat clojure.core$partial$fn__5843.invoke(core.clj:2638)\n\tat clojure.core$map$fn__5866.invoke(core.clj:2755)\n\tat clojure.lang.LazySeq.sval(LazySeq.java:42)\n\tat clojure.lang.LazySeq.seq(LazySeq.java:51)\n\tat clojure.lang.Cons.next(Cons.java:39)\n\tat clojure.lang.RT.next(RT.java:713)\n\tat clojure.core$next__5386.invokeStatic(core.clj:64)\n\tat clojure.core$next__5386.invoke(core.clj:64)\n\tat schema.spec.collection$element_transformer$fn__2392.invoke(collection.clj:26)\n\tat schema.spec.collection.CollectionSpec$fn__2432.invoke(collection.clj:79)\n\tat clojure.core$comp$fn__5807.invoke(core.clj:2569)\n\tat puppetlabs.puppetserver.certificate_authority$fn__37322$get_certificate_statuses__37327.invoke(certificate_authority.clj:1380)\n\tat puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38853$fn__38856.invoke(certificate_authority_core.clj:306)\n\tat liberator.core$run_handler.invokeStatic(core.clj:176)\n\tat liberator.core$run_handler.invoke(core.clj:131)\n\tat liberator.core$handle_ok.invokeStatic(core.clj:224)\n\tat liberator.core$handle_ok.invoke(core.clj:224)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$multiple_representations_QMARK_.invokeStatic(core.clj:232)\n\tat liberator.core$multiple_representations_QMARK_.invoke(core.clj:232)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$put_to_existing_QMARK_.invokeStatic(core.clj:305)\n\tat liberator.core$put_to_existing_QMARK_.invoke(core.clj:305)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$post_to_existing_QMARK_.invokeStatic(core.clj:308)\n\tat liberator.core$post_to_existing_QMARK_.invoke(core.clj:308)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$method_patch_QMARK_.invokeStatic(core.clj:315)\n\tat liberator.core$method_patch_QMARK_.invoke(core.clj:315)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$method_delete_QMARK_.invokeStatic(core.clj:317)\n\tat liberator.core$method_delete_QMARK_.invoke(core.clj:317)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$if_modified_since_exists_QMARK_.invokeStatic(core.clj:337)\n\tat liberator.core$if_modified_since_exists_QMARK_.invoke(core.clj:337)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$if_none_match_exists_QMARK_.invokeStatic(core.clj:355)\n\tat liberator.core$if_none_match_exists_QMARK_.invoke(core.clj:355)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$if_unmodified_since_exists_QMARK_.invokeStatic(core.clj:375)\n\tat liberator.core$if_unmodified_since_exists_QMARK_.invoke(core.clj:375)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$if_match_exists_QMARK_.invokeStatic(core.clj:389)\n\tat liberator.core$if_match_exists_QMARK_.invoke(core.clj:389)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$exists_QMARK_.invokeStatic(core.clj:392)\n\tat liberator.core$exists_QMARK_.invoke(core.clj:392)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$processable_QMARK_.invokeStatic(core.clj:395)\n\tat liberator.core$processable_QMARK_.invoke(core.clj:395)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$encoding_available_QMARK_.invokeStatic(core.clj:399)\n\tat liberator.core$encoding_available_QMARK_.invoke(core.clj:399)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:416)\n\tat liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:416)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$accept_charset_exists_QMARK_.invokeStatic(core.clj:429)\n\tat liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:429)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$accept_language_exists_QMARK_.invokeStatic(core.clj:443)\n\tat liberator.core$accept_language_exists_QMARK_.invoke(core.clj:443)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$media_type_available_QMARK_.invokeStatic(core.clj:453)\n\tat liberator.core$media_type_available_QMARK_.invoke(core.clj:453)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$accept_exists_QMARK_.invokeStatic(core.clj:456)\n\tat liberator.core$accept_exists_QMARK_.invoke(core.clj:456)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$is_options_QMARK_.invokeStatic(core.clj:473)\n\tat liberator.core$is_options_QMARK_.invoke(core.clj:473)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$valid_entity_length_QMARK_.invokeStatic(core.clj:476)\n\tat liberator.core$valid_entity_length_QMARK_.invoke(core.clj:476)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$known_content_type_QMARK_.invokeStatic(core.clj:479)\n\tat liberator.core$known_content_type_QMARK_.invoke(core.clj:479)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$valid_content_header_QMARK_.invokeStatic(core.clj:481)\n\tat liberator.core$valid_content_header_QMARK_.invoke(core.clj:481)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$allowed_QMARK_.invokeStatic(core.clj:484)\n\tat liberator.core$allowed_QMARK_.invoke(core.clj:484)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$authorized_QMARK_.invokeStatic(core.clj:487)\n\tat liberator.core$authorized_QMARK_.invoke(core.clj:487)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$malformed_QMARK_.invokeStatic(core.clj:490)\n\tat liberator.core$malformed_QMARK_.invoke(core.clj:490)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$method_allowed_QMARK_.invokeStatic(core.clj:493)\n\tat liberator.core$method_allowed_QMARK_.invoke(core.clj:493)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$uri_too_long_QMARK_.invokeStatic(core.clj:496)\n\tat liberator.core$uri_too_long_QMARK_.invoke(core.clj:496)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$known_method_QMARK_.invokeStatic(core.clj:499)\n\tat liberator.core$known_method_QMARK_.invoke(core.clj:499)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$service_available_QMARK_.invokeStatic(core.clj:502)\n\tat liberator.core$service_available_QMARK_.invoke(core.clj:502)\n\tat liberator.core$decide.invokeStatic(core.clj:87)\n\tat liberator.core$decide.invoke(core.clj:74)\n\tat liberator.core$initialize_context.invokeStatic(core.clj:504)\n\tat liberator.core$initialize_context.invoke(core.clj:504)\n\tat liberator.core$run_resource.invokeStatic(core.clj:595)\n\tat liberator.core$run_resource.invoke(core.clj:593)\n\tat puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38853.invoke(certificate_authority_core.clj:293)\n\tat compojure.response$fn__17209.invokeStatic(response.clj:33)\n\tat compojure.response$fn__17209.invoke(response.clj:21)\n\tat compojure.response$fn__17182$G__17177__17189.invoke(response.clj:6)\n\tat puppetlabs.services.ca.certificate_authority_core$fn__38865$web_routes__38870$fn__38871$fn__38874.invoke(certificate_authority_core.clj:316)\n\tat bidi.ring$fn__16996.invokeStatic(ring.cljc:25)\n\tat bidi.ring$fn__16996.invoke(ring.cljc:21)\n\tat bidi.ring$fn__16981$G__16976__16990.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__18912.invoke(comidi.clj:245)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$fn__25398$wrap_authorization_check__25403$fn__25404$fn__25405.invoke(ring_middleware.clj:290)\n\tat puppetlabs.ring_middleware.core$fn__22991$wrap_bad_request__23000$fn__23003$fn__23009.invoke(core.clj:170)\n\tat puppetlabs.puppetserver.ringutils$fn__35537$wrap_with_trapperkeeper_or_client_whitelist_authorization__35542$fn__35543$fn__35547.invoke(ringutils.clj:124)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$fn__23089$wrap_uncaught_errors__23098$fn__23101$fn__23106.invoke(core.clj:216)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__35526.invoke(ringutils.clj:83)\n\tat puppetlabs.ring_middleware.core$fn__22739$wrap_response_logging__22744$fn__22745$fn__22746.invoke(core.clj:53)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__28680.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__28259$normalize_uri_handler__28264$fn__28265$fn__28266.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:753)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:505)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)\n\tat java.lang.Thread.run(Thread.java:748)\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15424", "fixedVersions": [], "id": "15424", "issueType": "Bug", "key": "SERVER-2666", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Internal Server Error on GET /puppet-ca/v1/certificate_statuses/any_key", "timeSpent": "PT0S", "updated": "2022-03-08T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for reporting this! We'll look into getting that fixed.", "created": "2020-10-26T17:34:00.000000"}], "components": ["CLI"], "created": "2019-11-01T03:13:00.000000", "creator": "623a4603761efb0069cd34da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27c1f92"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:ji"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Oct/20"}], "description": "*Puppet Version:* 6.10.1\n *Puppet Server Version:* 6.7.1\n *puppetserver-ca gem Version*: 1.4.0\n *OS Name/Version:* Ubuntu 16.04\n\nPuppetserver::Ca::Action::List.get_all_certs returns an empty array on API errors\n\n*Desired Behavior:*\n Puppetserver::Ca::Action::List.get_all_certs should fail/return an exception if CA API doesn't return a HTTP 200.\n\n*Actual Behavior:*\n If the CA API returns a HTTP error, puppetserver-ca logs an error but returns an empty array.\n\n[https://github.com/puppetlabs/puppetserver-ca-cli/blob/112a52b2d132ff05fd7104cb1e04434eff24ef36/lib/puppetserver/ca/certificate_authority.rb#L214]\n\n[https://github.com/puppetlabs/puppetserver-ca-cli/blob/112a52b2d132ff05fd7104cb1e04434eff24ef36/lib/puppetserver/ca/action/list.rb#L145]\n\n*Context*: We use the puppetserver-ca in a script which ensure that revoked nodes get deactivated in PuppetDB. As we haven't check for an empty array as a result of Puppetserver::Ca::Action::List.get_all_certs we deactivated *all* our nodes in PuppetDB.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16057", "fixedVersions": [], "id": "16057", "issueType": "Bug", "key": "SERVER-2665", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4603761efb0069cd34da", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver::Ca::Action::List.get_all_certs shouldn't return empy array on error", "timeSpent": "PT0S", "updated": "2022-03-09T09:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Also pe-puppet-server-extensions", "created": "2019-10-31T09:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Can we do this now?", "created": "2020-11-16T12:39:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "sure", "created": "2020-11-16T13:33:00.000000"}], "components": [], "created": "2019-10-30T12:25: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@32c56ad"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzy3s7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33095569570_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41216140234"}], "description": "Per [~accountid:63d40628f6e1b543161789a7]'s audit in [this comment|https://github.com/puppetlabs/puppetserver/pull/2212#issuecomment-548037758] we can remove almost all of our jruby specific gems can be remove as they are (or are about to be) in the gem path shared between client and server.\n\nWhen removing these from our packages we will still need them from testing and development. ie, the dev-setup and install-test-gems.sh scripts will need to continue to install them. We may just want to move the list from resources to dev-resources.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16584", "fixedVersions": [], "id": "16584", "issueType": "Improvement", "key": "SERVER-2664", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove duplicate gem installations", "timeSpent": "PT0S", "updated": "2022-03-08T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So we only want to make this work for actual {{sign}} requests ({{PUT /certificate-status}} with {{desired-state: signed}} in the body), which means this won't work with autosigning. I think the {{generate}} command should probably warn if the {{ttl}} flag is specified and autosign was enabled. I see that in the installer we have a whitelist for certs we want to autosign. The new console cert should NOT be on this list. It should be created using {{generate}} with the {{ttl}} flag (which will create a CSR and then sign it) and then placed where the console expects it to be.\n\nI think this is the right behavior: the only way to make it work with autosigning is for the client to send the TTL along with the PUT for the certificate request, but if autosigning is turned off, then the specified TTL will be thrown away (we don't have a way to store that metadata alongside the saved CSR, and CSRs can't specify their own TTLs). I think it is more clear cut to have this be only available as an option to an explicit {{sign}} request. /cc [~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330]", "created": "2019-11-20T14:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should update the documentation https://github.com/puppetlabs/puppetserver/blob/master/documentation/http_certificate_status.md in the 6.x branches of puppetserver. We agreed to not update the equivalent docs in Puppet in 5.x, because the Ruby implementation of the API does not support this feature.", "created": "2019-11-25T09:59:00.000000"}], "components": [], "created": "2019-10-28T08:47: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@417f5e04"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke7b:"}, {"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 requesting that a certificate be signed, the `certificate-status` API endpoint can now accept a TTL in its body under the key `cert_ttl`, which will determine the validity period of the cert being signed. The unit defaults to seconds but can be specified with the same unit markers Puppet's settings understand.\n\nThis note can probably be combined with the one on PE-27489, to indicate that a per-cert TTL can be set either via the HTTP API directly, or via these CLI commands. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_866519132_*|*_1_*:*_1_*:*_350908260_*|*_10007_*:*_1_*:*_403000477_*|*_3_*:*_1_*:*_604357473_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1068587262"}], "description": "h1. Story\n\nAs a user, I would like to generate certificates with a specific TTL to meet my security standards.\u00a0\u00a0\nh1. Background\u00a0\n\nWe need to add a --ttl flag to the puppetserver cli and setting it via the API is a requirement of that.\u00a0 See this comment for more details.\n\nhttps://puppet.atlassian.net/browse/PE-27489?focusedCommentId=696116&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-696116", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16054", "fixedVersions": ["SERVER 5.3.11", "SERVER 6.3.3", "SERVER 6.8.0"], "id": "16054", "issueType": "New Feature", "key": "SERVER-2678", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Done", "resolutionDate": "2019-12-05T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server CA API should allow a per-cert TTL", "timeSpent": "PT0S", "updated": "2020-01-09T14:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:613151bd-b161-4bc3-9e32-335fdcef4d89] is there a way to query PuppetDB to get information like this?\n\n[~accountid:5bdb84d116f04e0f980e7970] [~accountid:557058:ddaa4b87-3b61-49bb-98f9-56fd02cdbb6b] is there any desire to also include any counts in here, or is the other count data we're already collecting sufficient? Is there a different format you'd prefer the data to be in?", "created": "2019-10-25T16:47:00.000000"}], "components": [], "created": "2019-10-25T16:46: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@5f54a223"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzy0q7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33511981867_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41216105955"}], "description": "We currently have metrics reporting what module classes are used in a deployment, along with how many hosts they're used on. We also have metrics for what agent OSes are present in what quantities.\n\nWe would like to start collecting data on which module classes are applied on which OSes, which would sort of correlate these two pieces of data.\n\nMaybe something like\n{code}\n{ agent_os1 : { class1, class2, class3...},\n  agent_os2 : { class5, class17, class100...} }\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15423", "fixedVersions": [], "id": "15423", "issueType": "Task", "key": "SERVER-2663", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Correlate module class usage with agent OS", "timeSpent": "PT0S", "updated": "2022-03-08T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The root cause of this behavior appears to be the {{revoke}} and {{sign}} methods of the jvm-ssl-utils:\n\n  - https://github.com/puppetlabs/jvm-ssl-utils/blob/3.0.4/src/clojure/puppetlabs/ssl_utils/core.clj#L517-L533\n  - https://github.com/puppetlabs/jvm-ssl-utils/blob/3.0.4/src/clojure/puppetlabs/ssl_utils/core.clj#L460-L490\n\nThese methods only take the PublicKey of the CA as an argument rather than the Certificate. The Authority Key Identifier is computed from the PublicKey by the revoke method, and is always type 1:\n\n  - https://github.com/puppetlabs/jvm-ssl-utils/blob/3.0.4/src/java/com/puppetlabs/ssl_utils/SSLUtils.java#L367-L368\n\nI'm not quite sure how the sign method is computing it, the logic appears to be down in the X509v3CertificateBuilder class:\n\nhttps://github.com/puppetlabs/jvm-ssl-utils/blob/3.0.4/src/java/com/puppetlabs/ssl_utils/SSLUtils.java#L225-L231", "created": "2019-10-21T10:56:00.000000"}, {"author": "70121:17943255-5ba0-4816-b375-a092f4b59509", "body": "I'm not 100% sure my issue is the same here, but here are my details.\u00a0 I am using a Private CA with AWS Certificate Manager.\u00a0 Centos 7 with Puppetserver 6.7.1 from Puppet's yum repo.\n\n*Generate private key, request cert, and get cert chain and root CA crl:*\n\n\u00a0\n{code:java}\nopenssl req -config certgen.cnf -nodes -new -newkey rsa:2048 -days 3650 -keyout key.pem -out csr.pem\n\ncert_arn=$(aws acm-pca issue-certificate --certificate-authority-arn \"$CA_ARN\" --template-arn arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1 --csr \"file:///$(pwd)/csr.pem\" --signing-algorithm \"SHA256WITHRSA\" --validity Value=3650,Type=\"DAYS\" --idempotency-token \"$RANDOM\" --region \"$REGION\" | jq -r .CertificateArn)\n\naws acm-pca get-certificate --certificate-authority-arn \"$CA_ARN\" --certificate-arn \"$cert_arn\" --region \"$REGION\" --output text | tr '\\t' '\\n' > certchain.pem\n\nca_hash=$(cut -d':' -f6 <<<$CA_ARN | cut -d'/' -f2)\n\naws s3 cp \"s3://${CRL_BUCKET}/crl/${ca_hash}.crl\" raw.crl\n\nopenssl crl -inform DER -in raw.crl -outform PEM -out crl.pem{code}\n(I wasn't originally doing the template when issuing the cert.\u00a0 \u00a0That allows the server to successfully issue itself a cert.)\n\n\u00a0\n\n*Install the stuff generated above on the server*\n\n\u00a0\n{code:java}\npuppet# puppetserver ca import --private-key key.pem --cert-bundle certchain.pem --crl-chain crl.pem --certname puppet.us-west-1.mydomain\n{code}\n\u00a0\n\n*Test local agent against server*\n\n\u00a0\n{code:java}\n# puppet agent --test\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for puppet.us-west-1.mydomain\nInfo: Applying configuration version '1571752736'\nNotice: Applied catalog in 0.01 seconds\n{code}\n\u00a0\n\n*Test remote agent against server*\n\n\u00a0\n{code:java}\n# puppet agent --test\nInfo: Downloaded certificate for ca from puppet.us-west-1.mydomain\nInfo: Downloaded certificate revocation list for ca from puppet.us-west-1.mydomain\nInfo: Creating a new RSA SSL key for relay.us-west-1.mydomain\nInfo: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml\nInfo: Creating a new SSL certificate request for relay.us-west-1.mydomain\nInfo: Certificate Request fingerprint (SHA256): 05:4B:88:15:FD:A1:51:94:52:BA:DF:4C:D2:F4:AE:A5:F9:CD:53:2E:B0:C6:BD:02:08:AC:94:39:3D:02:AF:4F\nInfo: Certificate for relay.us-west-1.mydomain has not been signed yet\nCouldn't fetch certificate from CA server", "created": "2019-10-22T08:20:00.000000"}, {"author": "70121:64260ba9-b0ac-48da-a645-42085c6d8d09", "body": "There is easier way to issue intermediate CA key/cert pair using vault-only. It mostly based on this doc: [https://www.vaultproject.io/docs/secrets/pki/index.html#setting-up-intermediate-ca.]\u00a0The only difference is to use 'generate/external' endpoint. It's explained a bit better in HTTP API doc (type = external): [https://www.vaultproject.io/api/secret/pki/index.html#generate-intermediate.]\u00a0In that case vault write will return private key in reply. Below is quick and dirty example.\n\n1. Generate intermediate CA & export private key and CSR\n{code}\nvault write pki-ca-puppet/intermediate/generate/exported common_name=\"Puppet CA\" format=pem key_bits=4096 exclude_cn_from_sans=true\nKey                 Value\n---                 -----\ncsr                 -----BEGIN CERTIFICATE REQUEST-----\n[...]\n-----END CERTIFICATE REQUEST-----\nprivate_key         -----BEGIN RSA PRIVATE KEY-----\n[...]\n-----END RSA PRIVATE KEY-----\nprivate_key_type    rsa\n{code}\n\n2. Copy and store CSR & private keys to csr.pem and key.pem.\n\n3. Sign intermediate CA CSR by root CA (using @csr.pem to read from file)\n{code}\nvault write pki-ca-root/root/sign-intermediate csr=@csr.pem format=pem_bundle ttl=43800h\nKey              Value\n---              -----\ncertificate      -----BEGIN CERTIFICATE-----\n[...]\n-----END CERTIFICATE-----\nexpiration       1728205043\nissuing_ca       -----BEGIN CERTIFICATE-----\n[...]\n-----END CERTIFICATE-----\nserial_number    36:7c:84:76:90:51:de:ad:be:ef:c5:fb:65:83:c2:51:7c:4e:07:b8\n{code}\n\n4. Copy and store certificate into crt.pem\n\n5. Store signed intermediate CA certificate into PKI\n{code}\nvault write pki-ca-puppet/intermediate/set-signed certificate=@crt.pem\n{code}\n\n6. Configure URLs (not actually required within this task scope)\n{code}\nvault write pki-ca-puppet/config/urls issuing_certificates=\"https://vault.example.com/v1/pki-ca-puppet/ca\" crl_distribution_points=\"https://vault.example.com/v1/pki-ca-puppet/crl\"\n{code}\n\n7. Create agent & master PKI roles (not actually required within this task scope)\n{code}\nvault write pki-ca-puppet/roles/agent allowed_domains=example.com allow_subdomains=true max_ttl=43800h\nvault write pki-ca-puppet/roles/master allowed_domains=\"example.com,puppet.tld\" allow_subdomains=true max_ttl=43800h\n{code}\n\n8. Configure CRL expiration period. I did it via vault web UI. There is HTTP API https://www.vaultproject.io/api/secret/pki/index.html#set-crl-configuration. There should be a way to do it via CLI but I didn't tried. Default CRL expiration period is 72h which is not enough for Puppet CA as I see.\n\n9. Fetch root & intermediate CA CRLs. I did it by curl.\n{code}\n(curl -s https://vault.example.com/v1/pki-ca-root/crl/pem", "created": "2019-10-24T03:53:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "FWIW, I think this issue could be avoided if we created an Authority Key Identifier as a directoryName:\n\n{noformat}\nX509v3 Authority Key Identifier: \n  DirName:/CN=Puppet CA: slimmer-radii.xxx\n  serial:01\n{noformat}\n\nThis is what puppetserver does for its self-signed CA when it starts for the first time, but not when running {{puppetserver ca setup}} or for certs that the CA issues.\n\nThat said, I think using a keyid is preferred based on the [RFC5280|https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.1], \"The value of the keyIdentifier field SHOULD be derived from the public key used to verify the certificate's signature or a method that generates unique values.\"\n\nAlso heads up that [RFC7093|https://datatracker.ietf.org/doc/html/rfc7093] defines additional ways of generating key identifiers (beyond the 2 mentioned in this ticket)!", "created": "2021-11-01T18:38:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This isn't going to make this round of releases, but we're hoping to get it into the next set.", "created": "2022-01-11T11:10:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "The next round of releases is 7.x only for March. This will be released in the 6.x branch also in April.", "created": "2022-03-10T13:24:00.000000"}], "components": ["Certificate Authority"], "created": "2019-10-21T10:45:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72c825a6"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0u93"}, {"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, puppetserver would always compute a type 1 key identifier based on the public key of the certificate authority; this is incompatible in situations where puppetserver imports pre-made certificates that use a type 2 key identifier, such as when using HashiCorp's Vault or AWS ACM.\n\nNow, Puppetserver will copy the subject key identifier from the ca certificate instead of computing a type 1 key identifier; this will allow for type 2 identifiers and future key types on the CA. With this change, Puppetserver can now use a intermediate certificate authority signed by Vault or AWS ACM."}, {"fieldName": "Story Points", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2.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": "43882,45888"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_93790595_*|*_1_*:*_1_*:*_2744547_*|*_10007_*:*_1_*:*_580499311_*|*_3_*:*_1_*:*_701839994_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_11502831721_*|*_10005_*:*_1_*:*_62382760335"}], "description": "Multiple types of key identifier exist, but Puppet server always uses type 1.\nThis behavior makes the CA unable to properly use intermediate CA certificates\nissued with type 2 identifiers --- such as those created by Vault PKI and\nAWS ACM.\n\nDuring validation of items signed by a CA, such as Certificates or CRLs,\nthe Authority Key Identifier field of the signed item is matched against the\nSubject Key Identifier field of the CA cert. These matches create the links\nin a chain along which validation will proceed to verify signatures, dates,\nauthorized uses, etc. If the key identifiers fail to match, most software\nwill throw errors like \"path building failed\" or \"issuer cannot be found\".\n\n[RFC 5280|[https://www.rfc-editor.org/rfc/rfc5280.html#section-4.2.1.2]] defines two types of key identifier:\n\n\u00a0- Type 1: A 160 bit SHA-1 hash of the subjectPublicKey of a certificate.\n\n\u00a0- Type 2: The four-bit string \\{{0100}} (which smells like a version number that\n\u00a0\u00a0\u00a0will increment in the future) followed by 60 bits of the SHA-1 hash of\n\u00a0\u00a0\u00a0the subjectPublicKey of a certificate.\n\nPuppet Server CA always computes a type 1 key identifier from the subjectPublicKey\nof its CA certificate when populating the Authority Key identifier field of any\ncertificate or CRL that it signs. This is incorrect behavior when the CA\noperates as an intermediate and will result in validation failures if the\nintermediate CA certificate was not issued with a type 1 identifier. Instead of\ncomputing a type 1 identifier for each operation, the CA should copy the value\nof the Subject Key Identifier field that was signed into it's certificate. This\nwould make the CA compatible with type 1, type 2, or other identifier types\nstandardized in the future.\n\n\nh2. Reproduction Case\n\n\u00a0\u00a0- Install Puppet Server 6 on CentOS 7:\n\n{code:bash}\nyum install -y\u00a0[http://yum.puppetlabs.com/puppet6-release-el-7.noarch.rpm]\nyum install -y puppetserver\n{code}\n\n\n\u00a0\u00a0- Install Vault and configure it to run in dev mode as a service:\n\n{code:bash}\nsource /etc/profile.d/puppet-agent.sh\npuppet module install puppet/archive --version 4.3.0\n\npuppet apply <<EOF\n# Quick and very dirty Vault installation.\n# Don't ever use this anywhere near production ;)\npackage { 'unzip':\n\u00a0\u00a0ensure => 'present',\n}\n\narchive { '/tmp/vault_1.2.3_linux_amd64.zip':\n\u00a0\u00a0source => '[https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip&#39;,|https://releases.hashicorp.com/vault/1.2.3/vault_1.2.3_linux_amd64.zip',]\n\u00a0\u00a0extract => true,\n\u00a0\u00a0extract_path => '/usr/local/sbin',\n\u00a0\u00a0creates => '/usr/local/sbin/vault',\n\u00a0\u00a0require => Package['unzip']\n}\n\nfile { 'vault-dev.service':\n\u00a0\u00a0path => '/etc/systemd/system/vault-dev.service',\n\u00a0\u00a0content => @(EOC),\n\u00a0\u00a0[Unit]\n\u00a0\u00a0Description=Vault development server\n\u00a0\u00a0After=network.target\n\n\u00a0\u00a0[Service]\n\u00a0\u00a0Type=simple\n\u00a0\u00a0ExecStart=/usr/local/sbin/vault server -dev -dev-listen-address=0.0.0.0:8200\n\u00a0\u00a0| EOC\n}\n\nexec { 'refresh systemd':\n\u00a0\u00a0command => '/usr/bin/systemctl daemon-reload',\n\u00a0\u00a0refreshonly => true,\n\u00a0\u00a0subscribe => File['vault-dev.service'],\n}\n\nservice { 'vault-dev':\n\u00a0\u00a0ensure => running,\n\u00a0\u00a0subscribe => Exec['refresh systemd'],\n}\nEOF\n{code}\n\n\u00a0\u00a0- Configure Vault PKI with a root certificate:\n\n{code:bash}\nexport VAULT_ADDR='[http://127.0.0.1:8200&#39;|http://127.0.0.1:8200'/]\n\n# Ref:\u00a0[https://www.vaultproject.io/docs/secrets/pki/index.html]\nvault secrets enable pki\nvault secrets tune -max-lease-ttl=8760h pki\nvault write pki/root/generate/internal \\\n\u00a0\u00a0common_name=root-ca.puppet.test \\\n\u00a0\u00a0ttl=8760h\n{code}\n\n\u00a0\u00a0- Configure Puppet Server with an intermediate CA issued by Vault\n\n{code:bash}\nmkdir intermediate_ca && cd intermediate_ca\ncat <<EOF > openssl.cnf\n[ req ]\nprompt = no\n\ndistinguished_name = req_distinguished_name\nreq_extensions = v3_req\n\n[ req_distinguished_name ]\ncommonName = PuppetCA\n\n[ v3_req ]\nsubjectAltName = DNS:intermediate-ca.puppet.test\nEOF\n\n/opt/puppetlabs/puppet/bin/openssl req -config openssl.cnf \\\n\u00a0\u00a0-nodes -new -newkey rsa:4096 \\\n\u00a0\u00a0-keyout puppet_ca_key.pem \\\n\u00a0\u00a0-out puppet_ca_csr.pem\n\nexport VAULT_ADDR='[http://127.0.0.1:8200&#39;|http://127.0.0.1:8200'/]\nvault write pki/root/sign-intermediate \\\n\u00a0\u00a0csr=@puppet_ca_csr.pem \\\n\u00a0\u00a0format=pem_bundle \\\n\u00a0\u00a0ttl=4380h > ca-bundle.pem\n\nvault read /pki/cert/crl > crls.pem\n\npuppetserver ca import --cert-bundle ca-bundle.pem --crl-chain crls.pem --private-key puppet_ca_key.pem\n{code}\n\n\u00a0\u00a0- Start Puppet Server and run the agent to verify everything works:\n\n{code:bash}\npuppet config set server $(hostname -f)\nsystemctl start puppetserver\npuppet agent -t\n{code}\n\n\u00a0\u00a0- Print the Authority Key Identifier for the CRL and the Subject Key Identifier for the intermediate CA:\n\n{code:bash}\n/opt/puppetlabs/puppet/bin/openssl crl \\\n\u00a0\u00a0-in $(puppet config print hostcrl) \\\n\u00a0\u00a0-text -noout | grep --after 1 'Authority Key'\n\n/opt/puppetlabs/puppet/bin/openssl x509 \\\n\u00a0\u00a0-in $(puppet config print localcacert) \\\n\u00a0\u00a0-text -noout | grep --after 1 'Subject Key'\n{code}\n\n\u00a0\u00a0- Generate and revoke a test certificate:\n\n{code:bash}\npuppetserver ca generate --certname foo.puppet.test\npuppetserver ca clean --certname foo.puppet.test\n{code}\n\n\u00a0\u00a0- Check that agent still works and the Authority Key Identifier has\n\u00a0\u00a0\u00a0\u00a0not changed:\n\n{code:bash}\npuppet agent -t\n\n/opt/puppetlabs/puppet/bin/openssl crl \\\n\u00a0\u00a0-in $(puppet config print hostcrl) \\\n\u00a0\u00a0-text -noout | grep --after 1 'Authority Key'\n{code}\n\nh3. Outcome\n\nPuppet fails with a missing CRL error:\n\n{noformat}\n[[root@sx5txzicd4q58j6|mailto:root@sx5txzicd4q58j6]\u00a0intermediate_ca]# puppet agent -t\n\nError: The CRL issued by 'CN=PuppetCA' is missing\nError: Could not run: The CRL issued by 'CN=PuppetCA' is missing\n{noformat}\n\nThe Authority Key Identifier has changed from what it was before the run,\nwhich matched the Subject Key Identifier of the intermediate CA cert:\n\n{noformat}\n[[root@sx5txzicd4q58j6|mailto:root@sx5txzicd4q58j6]\u00a0intermediate_ca]# /opt/puppetlabs/puppet/bin/openssl crl -in $(puppet config print hostcrl) -text -noout | grep -A1 'Authority Key'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0X509v3 Authority Key Identifier:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0keyid:CC:25:BE:33:52:7A:65:53:56:AE:C3:F2:4E:5C:0B:91:90:18:3B:59\n\n[[root@sx5txzicd4q58j6|mailto:root@sx5txzicd4q58j6]\u00a0intermediate_ca]# /opt/puppetlabs/puppet/bin/openssl x509 -in $(puppet config print localcacert) -text -noout |grep -A1 'Subject Key'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0X509v3 Subject Key Identifier:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0CC:25:BE:33:52:7A:65:53:56:AE:C3:F2:4E:5C:0B:91:90:18:3B:59\n{noformat}\n\nTo:\n\n{noformat}\n[[root@sx5txzicd4q58j6|mailto:root@sx5txzicd4q58j6]\u00a0intermediate_ca]# /opt/puppetlabs/puppet/bin/openssl crl -in $(puppet config print hostcrl) -text -noout | grep -A1 'Authority Key'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0X509v3 Authority Key Identifier:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0keyid:38:C9:63:F9:57:35:08:E7:99:44:07:B3:87:F5:9D:C4:03:CC:B4:03\n{noformat}\n\n\nh3. Expected Outcome\n\nAgent runs continue to work after revocation and the Authority Key Identifier\nin the updated CRL matches the \"PuppetCA\" intermediate certificate.\n\nh3. Additional Notes\n\nThe CRL makes an easy demonstration that uses only one node. However, any external agent node added to the server will fail with validation errors:\n\n{noformat}\n[[root@k9hjxz663xl96e1|mailto:root@k9hjxz663xl96e1]\u00a0~]# puppet agent -t\nInfo: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml\nInfo: Creating a new SSL certificate request for k9hjxz663xl96e1.delivery.puppetlabs.net\nInfo: Certificate Request fingerprint (SHA256): 26:D6:2B:33:1F:41:2F:6B:95:81:90:65:7C:A7:6E:99:9C:4F:0F:98:C0:AD:1C:61:53:80:04:81:56:BD:38:8D\nInfo: Downloaded certificate for k9hjxz663xl96e1.delivery.puppetlabs.net from dq4a9q8qcg1d68w.delivery.puppetlabs.net\nWarning: The issuer 'CN=PuppetCA' of certificate 'CN=k9hjxz663xl96e1.delivery.puppetlabs.net' cannot be found locally\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown\nInfo: Retrieving pluginfacts\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for\u00a0[puppet:///pluginfacts:]\u00a0SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown\n...\n{noformat}", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "16267", "fixedVersions": ["SERVER 6.19.0", "SERVER 7.6.1"], "id": "16267", "issueType": "Bug", "key": "SERVER-2662", "labels": ["docs_reviewed", "jira_escalated"], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2022-03-10T12:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server CA always creates type 1 authority key identifiers", "timeSpent": "PT0S", "updated": "2022-03-28T16:02:00.000000", "votes": "3", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is a good point, eventually we were hoping to move agents to using this version of the endpoint, and we will need this ability then. \n\nAs of right now, we don't really support this workflow, and it's entirely untested. This endpoint is used by other services (not agents) for compiling catalogs, and these need to be able to request a catalog for any node, so it hasn't come up yet.", "created": "2020-11-16T12:41:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this feature, for us to actively work on this feature.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T13:34:00.000000"}], "components": [], "created": "2019-10-14T14:09:00.000000", "creator": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d748888"}, {"fieldName": "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": "SERVER-2918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxmm7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_34471925308_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41215994610"}], "description": "As far as I can tell it is not possible to enforce that the API endpoint /puppet/v4/catalog only allows nodes to request their own catalog, because the requested catalog (certname parameter) is configured in the request body which is not accessible from the authorization configuration in the auth.conf.\n\nAs I want every node to request the log messages generated on the puppetserver during their catalog generation, this is not securely possible without a way to enforce, that only their own catalog can be requested.", "epicLinkSummary": "V4 Catalog Endpoint Improvements", "estimate": "PT0S", "externalId": "16583", "fixedVersions": [], "id": "16583", "issueType": "Improvement", "key": "SERVER-2659", "labels": [], "originalEstimate": "PT0S", "parent": "14909", "parentSummary": "V4 Catalog Endpoint Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Permit nodes to only access there own catalog via /puppet/v4/catalog", "timeSpent": "PT0S", "updated": "2022-03-08T13:34:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this is expected behavior... Puppet's fact indirection relies on that file to determine where to get facts. Is there a reason you can't configure routes.yaml?", "created": "2020-11-16T12:43:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0will try to repro this failure mode and update with findings.", "created": "2020-11-24T12:23:00.000000"}, {"author": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "body": "The report is from over a year so my memory is not that good. But if I remember correctly it took me a long time to get it working and I thought that the v3 catalog api works without the pubbetdb configured in the routes.yaml file so it would be nice if the v4 catalog api works the same way. Now I think the reason for the routes.yaml configuration requirement of the v4 catalog api is that the v3 catalog api does not support a call without facts as parameter, but I could be mistaken.\n\nWhat should be improved in my opinion at least is the error message \"PuppetDB not configured\", because it confused me more than it did help me and a pointer to the routes.yaml configuration would be more helpful.{color:#000000}\n{color}", "created": "2020-11-24T15:00:00.000000"}], "components": [], "created": "2019-10-14T13:43:00.000000", "creator": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7943ca73"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzxmjr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Nov/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37163398405_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_38526135083"}], "description": "*Puppet Version: 6.10*\n *Puppet Server Version: 6.7*\n *OS Name/Version: Ubuntu 18.04*\n\nThe API Endpoint /puppet/v4/catalog can not collect facts from puppetdb if no routes.yaml is present.\n\n*Desired Behavior:*****\n\nThe API Endpoint /puppet/v4/catalog should return the catalog without providing facts explicitly if the puppetdb is configured to store facts.\n\n*Actual Behavior:*\n\nThe API Endpoint /puppet/v4/catalog returns am error message, that the puppetdb is not configured:\n{noformat}\n> curl -s --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem --cert /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem --key /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem -X POST -H 'Content-Type:application/json' -d '{ \"certname\": \"'$(hostname -f)'\", \"persistence\": { \"facts\": false, \"catalog\": false }, \"environment\": \"production\", \"options\": { \"capture_logs\": true, \"log_level\": \"debug\" } }\"' https://puppet:8140/puppet/v4/catalog\n\nInternal Server Error: org.jruby.exceptions.RuntimeError: (Error) PuppetDB not configured, please provide facts with your catalog request.{noformat}\nIt works as expected if the routes.yaml is configured like this:\n{code:java}\n---\nmaster:\n  facts:\n    terminus: puppetdb\n{code}\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14820", "fixedVersions": [], "id": "14820", "issueType": "Bug", "key": "SERVER-2658", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T13:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "API Endpoint /puppet/v4/catalog can not collect facts from puppetdb with no routes.yaml", "timeSpent": "PT0S", "updated": "2022-03-08T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for catching this!", "created": "2020-11-16T12:43:00.000000"}], "components": [], "created": "2019-10-14T12:07:00.000000", "creator": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d997d86"}, {"fieldName": "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": "SERVER-2918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:96"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Nov/20"}], "description": "The API Endpoint /puppet/v4/catalog can be configured to return log messages generated on the puppetserver. But this only works if a catalog is successfully generated. If the catalog generation fails only the error message regarding the failed catalog generation is returned and no log messages generated during the attempt to generate the catalog are returned.", "epicLinkSummary": "V4 Catalog Endpoint Improvements", "estimate": "PT0S", "externalId": "17495", "fixedVersions": [], "id": "17495", "issueType": "Bug", "key": "SERVER-2657", "labels": [], "originalEstimate": "PT0S", "parent": "14909", "parentSummary": "V4 Catalog Endpoint Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:513396e5-6d1e-4ed4-acee-3752a305e2af", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "/puppet/v4/catalog returns no log messages on catalog error", "timeSpent": "PT0S", "updated": "2022-03-09T09:24:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "This is breaking the \"Network Automation in PE\" feature and needs to get fixed for lovejoy.\n\ncc [~accountid:5c2ff2fd81c1261667adfa1d] [~accountid:557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12] [~accountid:557058:4786f794-5167-4041-b3c0-deb1e8ba3438]", "created": "2019-10-10T03:58:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] appreciate any thoughts here.", "created": "2019-10-10T08:36:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "IIUC, we don't support arbitrary Symbols as values from Ruby, though we do attempt to coerce any Symbols we find as the keys to Hashes, since that's a really common use case.\n\nIs this breaking that use case, or is some data that's not a Hash key coming in as a Symbol?", "created": "2019-10-10T09:10:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "from the error message, I assume that the {{:host}} symbol is coming from the value of {{connection_info_order}}, which is an array of values-that-were-hash-keys.\n\nWhat are the reasons not to transform every symbol that you find into a string when rendering to JSON? This is what ruby's json library does.", "created": "2019-10-10T09:18:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The Ruby->Clojure API isn't necessarily for objects going directly to JSON, they may be other objects that shouldn't be stringified before being handled by clojure code.\n\nPuppet Server also isn't a general purpose Ruby hosting service, it's built to handle specific interactions with Puppet and leverage Puppet's conventions (which I think has been a source of pain in this integration).\n\nWe're not going to write a serializer for {{RubySymbol}} Java objects and install it in JacksonXML at this point in the dev cycle. I think the solution at this point is to find whatever the offending values are and call {{to_s}} on them in Ruby. Should we do that in Puppet Server or the Resource API?", "created": "2019-10-10T09:31:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "The Resource API should remain consistent in having elements of the {{connection_info_order}} array be valid keys into the {{connection_info}} hash, which are (by convention) symbols. Therefore I would appreciate a solution local to puppetserver.", "created": "2019-10-10T09:38:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "In our testing, the PR attached to the ticket resolves the issues.", "created": "2019-10-11T12:20:00.000000"}, {"author": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "body": "This landed in PE build 2019.2.0-rc10-4-g95822f8", "created": "2019-10-11T15:30:00.000000"}], "components": [], "created": "2019-10-10T03:53:00.000000", "creator": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6a4906cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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": "Manual 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|hzxjqf:"}, {"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": "10/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22292632_*|*_10007_*:*_1_*:*_215986333_*|*_3_*:*_1_*:*_5649076_*|*_5_*:*_1_*:*_0"}], "description": "{code}\n[root@az8ehyqxs1yg3pj ~]# puppet --version\n6.10.1\n[root@az8ehyqxs1yg3pj ~]# puppetserver --version\npuppetserver version: 2019.2.0.49\n[root@az8ehyqxs1yg3pj ~]# ls\npuppet-enterprise-2019.2.0-rc9-339-ge31ce0b-el-7-x86_64\n[root@az8ehyqxs1yg3pj ~]# \n{code}\n\n\nRepro:\n{code}\n[root@az8ehyqxs1yg3pj ~]# puppet module list\n/etc/puppetlabs/code/environments/production/modules\n\u251c\u2500\u2500 puppetlabs-cisco_ios (v1.1.0)\n[...]\n[root@az8ehyqxs1yg3pj ~]# curl -k    --cert $(puppet config print --section main hostcert)    --key $(puppet config print --section main hostprivkey)    --cacert $(puppet config print --section main localcacert)    \"https://$(hostname -f):8140/puppet/v3/environment_transports?environment=production\"; echo\nInternal Server Error: com.fasterxml.jackson.core.JsonGenerationException: Cannot JSON encode object of class: class org.jruby.RubySymbol: host\n[root@az8ehyqxs1yg3pj ~]# \n{code}\n\nstacktrace:\n{code}\n==> /var/log/puppetlabs/puppetserver/puppetserver.log <==\n2019-10-10T09:20:56.666Z ERROR [qtp1957007695-42] [p.r.core] Internal Server Error: com.fasterxml.jackson.core.JsonGenerationException: Cannot JSON encode object of class: class org.jruby.RubySymbol: host\n\tat cheshire.generate$generate.invokeStatic(generate.clj:152)\n\tat cheshire.generate$generate.invoke(generate.clj:116)\n\tat cheshire.generate$generate.invokeStatic(generate.clj:130)\n\tat cheshire.generate$generate.invoke(generate.clj:116)\n\tat cheshire.generate$generate.invokeStatic(generate.clj:122)\n\tat cheshire.generate$generate.invoke(generate.clj:116)\n\tat cheshire.generate$generate.invokeStatic(generate.clj:130)\n\tat cheshire.generate$generate.invoke(generate.clj:116)\n\tat cheshire.generate$generate.invokeStatic(generate.clj:122)\n\tat cheshire.generate$generate.invoke(generate.clj:116)\n\tat cheshire.core$generate_string.invokeStatic(core.clj:74)\n\tat cheshire.core$generate_string.invoke(core.clj:49)\n\tat cheshire.core$generate_string.invokeStatic(core.clj:55)\n\tat cheshire.core$generate_string.invoke(core.clj:49)\n\tat puppetlabs.ring_middleware.utils$fn__20504$json_response__20509$fn__20510.invoke(utils.clj:36)\n\tat puppetlabs.ring_middleware.utils$fn__20504$json_response__20509.invoke(utils.clj:29)\n\tat puppetlabs.services.master.master_core$fn__29540$make_cacheable_handler__29547$fn__29548$fn__29549.invoke(master_core.clj:767)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__28310.invoke(jruby_request.clj:48)\n\tat puppetlabs.services.master.master_core$fn__29456$wrap_with_cache_check__29463$fn__29464$fn__29465.invoke(master_core.clj:706)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_environment_validation$fn__28353.invoke(jruby_request.clj:119)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__28306.invoke(jruby_request.clj:33)\n\tat puppetlabs.services.master.master_core$fn__29944$v3_clojure_routes__29951$fn__29952$fn__29965.invoke(master_core.clj:1069)\n\tat ring.middleware.params$wrap_params$fn__16888.invoke(params.clj:64)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$fn__50707$wrap_authorization_check__50712$fn__50713$fn__50714.invoke(ring_middleware.clj:290)\n\tat puppetlabs.ring_middleware.core$fn__23665$wrap_bad_request__23674$fn__23677$fn__23683.invoke(core.clj:170)\n\tat puppetlabs.ring_middleware.core$fn__23763$wrap_uncaught_errors__23772$fn__23775$fn__23780.invoke(core.clj:216)\n\tat puppetlabs.ring_middleware.core$fn__23384$wrap_request_logging__23389$fn__23390$fn__23392.invoke(core.clj:47)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$fn__23413$wrap_response_logging__23418$fn__23419$fn__23420.invoke(core.clj:53)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__24681.invoke(ringutils.clj:83)\n\tat bidi.ring$fn__17670.invokeStatic(ring.cljc:25)\n\tat bidi.ring$fn__17670.invoke(ring.cljc:21)\n\tat bidi.ring$fn__17655$G__17650__17664.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__19586.invoke(comidi.clj:245)\n\tat puppetlabs.metrics.http$fn__28701$wrap_with_request_metrics__28706$fn__28710$fn__28712$fn__28713$fn__28714.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$fn__28701$wrap_with_request_metrics__28706$fn__28710$fn__28712$fn__28713.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$fn__28701$wrap_with_request_metrics__28706$fn__28710$fn__28712.invoke(http.clj:148)\n\tat puppetlabs.comidi$fn__19651$wrap_with_route_metadata__19656$fn__19657$fn__19659.invoke(comidi.clj:332)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__44872.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__44451$normalize_uri_handler__44456$fn__44457$fn__44458.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:753)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:505)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427)\n\tat org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321)\n\tat org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)\n\tat java.lang.Thread.run(Thread.java:748)\n{code}\n\n*Desired Behavior:*\n\nSerialise ruby symbols as strings.\n\n*Actual Behavior:*\n\nstacktrace.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16582", "fixedVersions": ["SERVER 6.7.1"], "id": "16582", "issueType": "Bug", "key": "SERVER-2656", "labels": ["impacts_content"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JSON serialisation error in /puppet/v3/environment_transports", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ba5ecb63-e127-4c90-834b-c71fdc004e8c", "body": "Maybe we do this in jvm-ssl-utils? It would stop any consumer of that library from doing known-bad things.", "created": "2019-10-07T15:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'd be happy to see the difference in exceptions happen there, though this made me realize that we should probably put some management of this into our ruby cli tool as well (so regardless, I think there's some more work for us to do here soon). ", "created": "2019-10-07T16:05:00.000000"}], "components": [], "created": "2019-10-07T15:47: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@2599bf78"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxhq7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_264031397_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76022286859"}], "description": "In at least {{initialize-master-ssl!}} we create an x.509 KeyPair. When doing so we assume our underlying SSL library will check the validity of the key length for us. However that error handling changes between ways that we initialize the keys and is absolutely terrible when using FIPS. We should provide early keylength checking in our {{validate-settings!}} functionality as well as in the {{puppetserver-ca}} cli tool, and unify the kinds of error descriptions between those two tools.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16862", "fixedVersions": [], "id": "16862", "issueType": "Improvement", "key": "SERVER-2655", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tighten up keylength checking", "timeSpent": "PT0S", "updated": "2022-03-08T13:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "These were merged into Server and promoted into PE. We're currently iterating on getting the testing infrastructure up, however initial manual tests show Server working. Regardless the changes have been taken up.", "created": "2019-10-12T11:24:00.000000"}], "components": [], "created": "2019-10-07T12:42: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@68836ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxhkv:"}, {"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": "Puppet Server may no longer be configured to accept SSLv3 traffic"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7824_*|*_10007_*:*_1_*:*_415120985_*|*_3_*:*_1_*:*_12176286_*|*_5_*:*_1_*:*_0"}], "description": "While iterating on FIPS testing changes in jvm-ssl-utils, clj-http-client, and tk-ws-jetty9 were required. We need to take these improvements up. Our original FIPS testing was lacking enforcement of a security policy. We need to be including this in FIPS testing as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15421", "fixedVersions": ["SERVER 6.7.1"], "id": "15421", "issueType": "Improvement", "key": "SERVER-2654", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2019-10-12T11:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade puppetserver#master to newest FIPS libraries/testing", "timeSpent": "PT0S", "updated": "2019-10-12T11:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "didn't do any release branch twizzles. the merge up from 6.3 will be done in the 6.3.2 ticket.", "created": "2019-10-15T22:06:00.000000"}], "components": [], "created": "2019-10-03T17:34:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e19bcb9"}, {"fieldName": "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-10081"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxgav:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2712_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1053134592"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "15742", "fixedVersions": [], "id": "15742", "issueType": "Task", "key": "SERVER-2653", "labels": [], "originalEstimate": "PT0S", "parent": "20146", "parentSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-15T22:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.7.1)", "timeSpent": "PT0S", "updated": "2019-10-15T22:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[http://builds.delivery.puppetlabs.net/puppetserver/6.7.1/]", "created": "2019-10-13T09:31:00.000000"}], "components": [], "created": "2019-10-03T17:34:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c44a6d0"}, {"fieldName": "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-10081"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxgaf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2565_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_835014930"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-10-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "15068", "fixedVersions": [], "id": "15068", "issueType": "Task", "key": "SERVER-2652", "labels": [], "originalEstimate": "PT0S", "parent": "20146", "parentSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-13T09:31:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.7.1)", "timeSpent": "PT0S", "updated": "2019-10-13T09:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We're releasing off of master for this release. Everyone's either working on other repos at the moment or actively committing to master to fix issues needed for this release.", "created": "2019-10-12T23:58:00.000000"}], "components": [], "created": "2019-10-03T17:34:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@54cebc5f"}, {"fieldName": "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-10081"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxga7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2376_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_800686549"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-10-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "14818", "fixedVersions": [], "id": "14818", "issueType": "Task", "key": "SERVER-2651", "labels": [], "originalEstimate": "PT0S", "parent": "20146", "parentSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.7.1)", "timeSpent": "PT0S", "updated": "2019-10-12T23:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ticketmatch flagged\u00a0SERVER-115 for a merge up from the backport, however that issue was first released and documented in 6.7.0. Otherwise, looked good.", "created": "2019-10-12T23:57:00.000000"}], "components": [], "created": "2019-10-03T17:34:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13b657f7"}, {"fieldName": "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-10081"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxg9z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2364_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_800581584"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-10-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "17494", "fixedVersions": [], "id": "17494", "issueType": "Task", "key": "SERVER-2650", "labels": [], "originalEstimate": "PT0S", "parent": "20146", "parentSummary": "Puppet Platform 6.10.1 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.7.1)", "timeSpent": "PT0S", "updated": "2019-10-12T23:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-10-02T15:14:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@129f72c"}, {"fieldName": "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-10070"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxel3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2806_*|*_10007_*:*_1_*:*_644028925_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1157245862"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "15067", "fixedVersions": [], "id": "15067", "issueType": "Task", "key": "SERVER-2649", "labels": [], "originalEstimate": "PT0S", "parent": "24410", "parentSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-23T11:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2019-10-23T11:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[http://builds.delivery.puppetlabs.net/puppetserver/6.3.2/]", "created": "2019-10-12T23:54:00.000000"}], "components": [], "created": "2019-10-02T15:14:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5078e419"}, {"fieldName": "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-10070"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxekn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3844_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_895202260"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-10-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "17493", "fixedVersions": [], "id": "17493", "issueType": "Task", "key": "SERVER-2648", "labels": [], "originalEstimate": "PT0S", "parent": "24410", "parentSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2019-10-12T23:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Relevant merge ups have already happened. The last code changes have gone through CI and are in PE. We're not actively developing on 6.3.x so we won't branch for this release.", "created": "2019-10-12T23:21:00.000000"}], "components": [], "created": "2019-10-02T15:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5401605a"}, {"fieldName": "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-10070"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxekf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3784_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_893289918"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-10-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "17147", "fixedVersions": [], "id": "17147", "issueType": "Task", "key": "SERVER-2647", "labels": [], "originalEstimate": "PT0S", "parent": "24410", "parentSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2019-10-12T23:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ran ticketmatch, resolved the same issues with 5.3.10 and merge the appropriate docs.", "created": "2019-10-12T23:15:00.000000"}], "components": [], "created": "2019-10-02T15:13:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@540ee78b"}, {"fieldName": "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-10070"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxek7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4008_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_892927650"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-10-06T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "16936", "fixedVersions": [], "id": "16936", "issueType": "Task", "key": "SERVER-2646", "labels": [], "originalEstimate": "PT0S", "parent": "24410", "parentSummary": "Puppet Platform 6.4.4 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.3.2)", "timeSpent": "PT0S", "updated": "2019-10-12T23:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-10-02T15:08:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12dd03eb"}, {"fieldName": "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-10060"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxec7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2464_*|*_10007_*:*_1_*:*_17418870_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1130847250"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "15065", "fixedVersions": [], "id": "15065", "issueType": "Task", "key": "SERVER-2645", "labels": [], "originalEstimate": "PT0S", "parent": "24408", "parentSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-15T22:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2019-10-15T22:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[http://builds.delivery.puppetlabs.net/puppetserver/5.3.10/]", "created": "2019-10-12T23:34:00.000000"}], "components": [], "created": "2019-10-02T15:08:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66ce8e0f"}, {"fieldName": "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-10060"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxebr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2428_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_894399213"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-10-04T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "17492", "fixedVersions": [], "id": "17492", "issueType": "Task", "key": "SERVER-2644", "labels": [], "originalEstimate": "PT0S", "parent": "24408", "parentSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2019-10-12T23:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Needed merge ups have already occurred (we've automated that). We aren't actively landing any work on 5.3.x so we are not branching for the release.The last code changes have been promoted into PE and passed.\u00a0", "created": "2019-10-12T23:18:00.000000"}], "components": [], "created": "2019-10-02T15:08:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@44764ecb"}, {"fieldName": "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-10060"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxebj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2507_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_893433786"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-10-03T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "17142", "fixedVersions": [], "id": "17142", "issueType": "Task", "key": "SERVER-2643", "labels": [], "originalEstimate": "PT0S", "parent": "24408", "parentSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T23:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2019-10-12T23:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ran ticketmatch. Found a missing fix version on\u00a0SERVER-2641 and missing fix version & docs for SERVER-1975 and SERVER-2198.", "created": "2019-10-12T17:49:00.000000"}], "components": [], "created": "2019-10-02T15:07:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37e53a87"}, {"fieldName": "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-10060"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxebb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2693_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_873758056"}], "description": "(Initial planned release date: 2019-10-15)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-10-01T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "estimate": "PT0S", "externalId": "16935", "fixedVersions": [], "id": "16935", "issueType": "Task", "key": "SERVER-2642", "labels": [], "originalEstimate": "PT0S", "parent": "24408", "parentSummary": "Puppet Platform 5.5.17 Release - 2019-10-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-10-12T17:50:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.10)", "timeSpent": "PT0S", "updated": "2019-10-12T17:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR https://github.com/puppetlabs/puppetserver/pull/2191", "created": "2019-10-01T14:35:00.000000"}], "components": [], "created": "2019-10-01T11:17: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@4d5db5cb"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzxd13:"}, {"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": "Puppet Server's CA API now synchronizes write access to the CRL, so that each revoke request updates the CRL in succession, instead of concurrently. This prevents corruption of the CRL due to competing requests.\n\nNote that this does _not_ affect the {{puppet cert}} command. If {{puppet cert revoke}} is used at the same time as a revocation request via the API, the CRL will still be updated simultaneously and could be corrupted.\n\nWe recommend using the {{puppetserver ca}} command line tool -- which utilizes the CA API -- whenever possible to minimize this risk."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_245622652_*|*_1_*:*_1_*:*_8983_*|*_10007_*:*_1_*:*_17458063_*|*_3_*:*_1_*:*_1185987_*|*_5_*:*_1_*:*_0"}], "description": "For SERVER-115, we implemented a serialization of updates to the CRL from the Clojure CA. This ticket tracks backporting that work to Puppet Server 5 (the PE 2018.1 LTS).\n\nNote that the solution will be less effective in that stream, because users can still use {{puppet cert}} to update the CRL, and those updates are not subject to this locking. Users who experience frequent problems with CRL corruption due to concurrent updates should prefer using the API, either directly or via the {{puppetserver ca}} CLI.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17140", "fixedVersions": ["SERVER 5.3.10", "SERVER 6.3.2"], "id": "17140", "issueType": "Task", "key": "SERVER-2641", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-10-04T12:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport CRL API serialization", "timeSpent": "PT0S", "updated": "2019-10-09T12:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Unneeded for this release.", "created": "2019-09-27T16:45:00.000000"}], "components": [], "created": "2019-09-25T12:47:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7afa5a0d"}, {"fieldName": "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-10042"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzx8ef:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3601_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_187077691"}], "description": "(Initial planned release date: 2019-10-01)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-10-02T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "estimate": "PT0S", "externalId": "16052", "fixedVersions": [], "id": "16052", "issueType": "Task", "key": "SERVER-2639", "labels": [], "originalEstimate": "PT0S", "parent": "27596", "parentSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-09-27T16:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.7.0)", "timeSpent": "PT0S", "updated": "2019-09-27T16:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "http://builds.delivery.puppetlabs.net/puppetserver/6.7.0/ is ready", "created": "2019-09-27T16:41:00.000000"}], "components": [], "created": "2019-09-25T12:46:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@350f7e6b"}, {"fieldName": "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-10042"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzx8dz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3804_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_186858416"}], "description": "(Initial planned release date: 2019-10-01)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-09-28T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "estimate": "PT0S", "externalId": "15419", "fixedVersions": [], "id": "15419", "issueType": "Task", "key": "SERVER-2638", "labels": [], "originalEstimate": "PT0S", "parent": "27596", "parentSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-09-27T16:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.7.0)", "timeSpent": "PT0S", "updated": "2019-09-27T16:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We're not doing a release branch. Work has only targeted master, and that work has been in service of the bug fixes. Double checked the commit history since the last release and the content is correct.", "created": "2019-09-27T15:43:00.000000"}], "components": [], "created": "2019-09-25T12:46:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e474cfc"}, {"fieldName": "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-10042"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzx8dr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3481_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_183410516"}], "description": "(Initial planned release date: 2019-10-01)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-09-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "estimate": "PT0S", "externalId": "15063", "fixedVersions": [], "id": "15063", "issueType": "Task", "key": "SERVER-2637", "labels": [], "originalEstimate": "PT0S", "parent": "27596", "parentSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-09-27T15:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.7.0)", "timeSpent": "PT0S", "updated": "2019-09-27T15:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Maggie's already groomed tickets, as far as I can tell. I've manually checked since there's only one piece of ticketed work that's landed since the last release: SERVER-2628.", "created": "2019-09-27T15:46:00.000000"}], "components": [], "created": "2019-09-25T12:46:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3645470b"}, {"fieldName": "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-10042"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzx8dj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3572_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_183582193"}], "description": "(Initial planned release date: 2019-10-01)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-09-25T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "estimate": "PT0S", "externalId": "14817", "fixedVersions": [], "id": "14817", "issueType": "Task", "key": "SERVER-2636", "labels": [], "originalEstimate": "PT0S", "parent": "27596", "parentSummary": "Puppet Platform 6.10.0 Release - 2019-10-01\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Fixed", "resolutionDate": "2019-09-27T15:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.7.0)", "timeSpent": "PT0S", "updated": "2019-09-27T15:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-09-24T17:47: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@39560bdb"}, {"fieldName": "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": "Task API Improvements"}, {"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": "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|hzx7an:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_77398864082_*|*_6_*:*_1_*:*_0"}], "description": "Collection of feature requests around improving the information provided by the tasks API. These are unlikely to be prioritized internally any time soon, but we welcome PRs!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16934", "fixedVersions": [], "id": "16934", "issueType": "Epic", "key": "SERVER-2635", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Task API Improvements", "timeSpent": "PT0S", "updated": "2022-03-08T12:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:64260ba9-b0ac-48da-a645-42085c6d8d09", "body": "\u00a0\n\nJFYI, this is how it looks when I'm trying to start puppetserver with puppet CA container running:\n{code:java}\u25cf puppetserver.service - puppetserver Service\n Loaded: loaded (/lib/systemd/system/puppetserver.service", "created": "2019-09-25T03:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That's interesting. We can look at the general {{puppetserver foreground}} issue, but I wonder if [~accountid:557058:263afade-3e4f-46c6-b50a-cf2982192562] has any wisdom regarding this since he's been working on running Puppet Server in docker internally.", "created": "2019-09-27T11:46:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Closing due to inactivity. If you feel this issue is urgent, please feel free to comment on this ticket.\n\n\u00a0", "created": "2022-01-26T11:23:00.000000"}], "components": [], "created": "2019-09-24T04:30:00.000000", "creator": "70121:64260ba9-b0ac-48da-a645-42085c6d8d09", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@45959ba"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Ubuntu 16.04 (amd64)"}, {"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|hzx62f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_36925326759_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_36975077027"}], "description": "*Puppet Version: 6.9.0*\n *Puppet Server Version: 6.6.0*\n *OS Name/Version: Ubuntu 16.04 LTS*\n\nToday I found running puppetserver in container (I have dedicated CA there) is preventing puppetserver to run on host because of the way systemd unit is operating (forking + killmode I guess). So I decided to create 'proper' systemd unit with {{Type=simple}}\u00a0and {{ExecStart}} using 'foreground' mode (note {{User=puppet}} there):\n{code}\n[Unit]\nDescription=puppetserver Service\nAfter=syslog.target network.target nss-lookup.target\n\n[Service]\nEnvironmentFile=/etc/default/puppetserver\nUser=puppet\nTimeoutStartSec=300\nTimeoutStopSec=60\nRestart=on-failure\nStartLimitBurst=5\nTasksMax=4915\nUMask=027\nExecReload=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver reload\nExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver foreground\nSuccessExitStatus=143\n\n[Install]\nWantedBy=multi-user.target\n{code}\n\nBut then I was unable to start puppetserver. It fails with message about missing sudo permissions. I started to investigate and it leads me to {{/opt/puppetlabs/server/apps/puppetserver/cli/apps/foreground}}. There I found following code:\n{code}\nif [ \"$EUID\" = \"0\" ] && command -v runuser &> /dev/null; then\n  runuser \"${USER}\" -s /bin/bash -c \"$COMMAND\"\nelif command -v sudo &> /dev/null; then\n  sudo -H -u \"${USER}\" $COMMAND\nelse\n  su \"${USER}\" -s /bin/bash -c \"$COMMAND\"\nfi\n{code}\n\nThere I see another issue.. When you start puppetserver as non-root ($EUID != 0) it will fall into {{elif}} block immediately.\n\nFrom same code I can say it was never expected someone will run puppetserver in foreground as non-root. I guess it was mainly introduced for running in docker.\n\nI'd say it's better to drop this block from {{foreground}} file and move {{runuser}} call directly to docker entrypoint script. Currently I just commented this part out to check and it works fine for me.\n\n*Desired Behavior:*\n\nTo be able to run puppetserver in foreground as non-root (because you can do this in background using {{puppetserver start}})\n\n*Actual Behavior:*\n\nIt's impossible to run {{puppetserver foreground}} as non-root user yet.\n\nThank you!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17565", "fixedVersions": [], "id": "17565", "issueType": "Bug", "key": "SERVER-2634", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:64260ba9-b0ac-48da-a645-42085c6d8d09", "resolution": "Won't Fix", "resolutionDate": "2022-01-26T11:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver foreground fails when started as non-root user without sudo permissions", "timeSpent": "PT0S", "updated": "2022-01-26T11:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c104c866b810069e436dd", "body": "I got the exact same error but on puppetserver 5.3.8 and puppet 5.5.17\n\nFor me the error was caused by my http-proxy (squid) somehow. Unsetting the environment variables http_proxy and https_proxy for the agent solved it for me.", "created": "2019-11-07T08:14:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Closing due to inactivity please re-open if this is still a problem for you.\u00a0", "created": "2020-11-24T12:35:00.000000"}], "components": ["Puppet Server"], "created": "2019-09-18T04:56:00.000000", "creator": "557058:afeb4589-3a40-45a2-9d53-0c583b3bf015", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38035e5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzx2on:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37442299496_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:\u00a06.4.2*\n *Puppet Server Version:\u00a06.3.0*\n *OS Name/Version: RHEL 7.7*\n\nAfter upgrading to Puppet Server to 6.3.0 got a lot of\u00a0\"ERROR [qtp1080887695-578] [p.r.core] Internal Server Error: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 30013/30000 ms\" errors in Puppet server log and some Puppet runs do fail.\n\n*Desired Behavior:*\n\nNo\u00a0java.io.IOException error and no failed puppet run.\n\n*Actual Behavior:*\n\n\u00a0puppetserver.log\n{code:java}\n2019-09-18T12:34:47.360+02:00 ERROR [qtp1080887695-578] [p.r.core] Internal Server Error: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 30013/30000 ms\n        at org.eclipse.jetty.server.HttpInput$ErrorState.noContent(HttpInput.java:1080)\n        at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:313)\n        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)\n        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)\n        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)\n        at java.io.InputStreamReader.read(InputStreamReader.java:184)\n        at java.io.BufferedReader.fill(BufferedReader.java:161)\n        at java.io.BufferedReader.read1(BufferedReader.java:212)\n        at java.io.BufferedReader.read(BufferedReader.java:286)\n        at java.io.Reader.read(Reader.java:140)\n        at clojure.java.io$fn__11508.invokeStatic(io.clj:337)\n        at clojure.java.io$fn__11508.invoke(io.clj:334)\n        at clojure.lang.MultiFn.invoke(MultiFn.java:239)\n        at clojure.java.io$copy.invokeStatic(io.clj:406)\n        at clojure.java.io$copy.doInvoke(io.clj:391)\n        at clojure.lang.RestFn.invoke(RestFn.java:425)\n        at clojure.core$slurp.invokeStatic(core.clj:6951)\n        at clojure.core$slurp.doInvoke(core.clj:6942)\n        at clojure.lang.RestFn.invoke(RestFn.java:439)\n        at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invokeStatic(request_handler_core.clj:78)\n        at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invoke(request_handler_core.clj:54)\n        at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invokeStatic(request_handler_core.clj:86)\n        at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invoke(request_handler_core.clj:81)\n        at puppetlabs.services.request_handler.request_handler_core$jruby_request_handler$fn__38872.invoke(request_handler_core.clj:269)\n        at puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__34705.invoke(jruby_request.clj:48)\n        at puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__34701.invoke(jruby_request.clj:33)\n        at puppetlabs.services.request_handler.request_handler_service$reify__38897$service_fnk__4991__auto___positional$reify__38912.handle_request(request_handler_service.clj:47)\n        at puppetlabs.services.protocols.request_handler$fn__38810$G__38806__38813.invoke(request_handler.clj:3)\n        at puppetlabs.services.protocols.request_handler$fn__38810$G__38805__38817.invoke(request_handler.clj:3)\n        at clojure.core$partial$fn__5824.invoke(core.clj:2624)\n        at puppetlabs.trapperkeeper.authorization.ring_middleware$fn__25030$wrap_authorization_check__25035$fn__25036$fn__25037.invoke(ring_middleware.clj:290)\n        at puppetlabs.ring_middleware.core$fn__22623$wrap_bad_request__22632$fn__22635$fn__22641.invoke(core.clj:170)\n        at puppetlabs.ring_middleware.core$fn__22721$wrap_uncaught_errors__22730$fn__22733$fn__22738.invoke(core.clj:216)\n        at puppetlabs.ring_middleware.core$fn__22342$wrap_request_logging__22347$fn__22348$fn__22350.invoke(core.clj:47)\n        at puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n        at puppetlabs.ring_middleware.core$fn__22371$wrap_response_logging__22376$fn__22377$fn__22378.invoke(core.clj:53)\n        at puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__34948.invoke(ringutils.clj:83)\n        at puppetlabs.services.master.master_core$fn__40052$v3_ruby_routes__40057$fn__40058$fn__40075.invoke(master_core.clj:800)\n        at bidi.ring$fn__16628.invokeStatic(ring.cljc:25)\n        at bidi.ring$fn__16628.invoke(ring.cljc:21)\n        at bidi.ring$fn__16613$G__16608__16622.invoke(ring.cljc:16)\n        at puppetlabs.comidi$make_handler$fn__18544.invoke(comidi.clj:245)\n        at puppetlabs.metrics.http$fn__39165$wrap_with_request_metrics__39170$fn__39174$fn__39176$fn__39177$fn__39178.invoke(http.clj:152)\n        at puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n        at com.codahale.metrics.Timer.time(Timer.java:101)\n        at puppetlabs.metrics.http$fn__39165$wrap_with_request_metrics__39170$fn__39174$fn__39176$fn__39177.invoke(http.clj:152)\n        at puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n        at com.codahale.metrics.Timer.time(Timer.java:101)\n        at puppetlabs.metrics.http$fn__39165$wrap_with_request_metrics__39170$fn__39174$fn__39176.invoke(http.clj:148)\n        at puppetlabs.comidi$fn__18609$wrap_with_route_metadata__18614$fn__18615$fn__18617.invoke(comidi.clj:332)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__28207.invoke(jetty9_core.clj:434)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:498)\n        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)\n        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)\n        at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__27785$normalize_uri_handler__27790$fn__27791$fn__27792.invoke(normalized_uri_helpers.clj:74)\n        at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n        at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)\n        at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n        at com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n        at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n        at org.eclipse.jetty.server.Server.handle(Server.java:531)\n        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n        at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:293)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)\n        at java.lang.Thread.run(Thread.java:748)\nCaused by: java.util.concurrent.TimeoutException: Idle timeout expired: 30013/30000 ms\n        at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)\n        at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)\n        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n        at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n        ... 1 more\n        Suppressed: java.lang.Throwable: HttpInput idle timeout\n                at org.eclipse.jetty.server.HttpInput.onIdleTimeout(HttpInput.java:797)\n                at org.eclipse.jetty.server.HttpChannelOverHttp.onIdleTimeout(HttpChannelOverHttp.java:407)\n                at org.eclipse.jetty.server.HttpConnection.onReadTimeout(HttpConnection.java:487)\n                at org.eclipse.jetty.io.AbstractConnection.onFillInterestedFailed(AbstractConnection.java:170)\n                at org.eclipse.jetty.server.HttpConnection.onFillInterestedFailed(HttpConnection.java:494)\n                at org.eclipse.jetty.io.AbstractConnection$ReadCallback.failed(AbstractConnection.java:287)\n                at org.eclipse.jetty.io.FillInterest.onFail(FillInterest.java:134)\n                at org.eclipse.jetty.io.ssl.SslConnection.onFillInterestedFailed(SslConnection.java:318)\n                at org.eclipse.jetty.io.ssl.SslConnection$3.failed(SslConnection.java:157)\n                at org.eclipse.jetty.io.FillInterest.onFail(FillInterest.java:134)\n                at org.eclipse.jetty.io.AbstractEndPoint.onIdleExpired(AbstractEndPoint.java:406)\n                ... 9 more\n\n\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17138", "fixedVersions": [], "id": "17138", "issueType": "Bug", "key": "SERVER-2632", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:afeb4589-3a40-45a2-9d53-0c583b3bf015", "resolution": "Cannot Reproduce", "resolutionDate": "2020-11-24T12:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "After upgrading to 6.3.0 got java.io.IOException errors", "timeSpent": "PT0S", "updated": "2020-11-24T12:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-09-13T13:24:00.000000", "creator": "5a5e592bec71fd29fa9a8628", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a503c24"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzx0n3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37844117576_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 2019.1.0*\n*Puppet Server Version: 2019.1.0.67*\n*OS Name/Version: centos-7-x86_64*\n\nDescribe your issue in as much detail as possible\u2026\n\nWhile running soak tests for 2019.1.0 we noticed that the JRuby average-borrow-time seemed to spike at the end of the test and then hover around 1k indefinitely after the test run with no agents checking in. A subsequent test reproduced the spike and higher than expected average after the test run. Another test confirmed that even when just running the pre-suite to set up the environment with PE without actually running a test the average-borrow-time stayed around 1k after the agent runs performed during setup. These test results are documented in SLV-470 (https://puppet.atlassian.net/browse/SLV-470).\n\nHowever, before writing this ticket I conducted additional tests and was not able to reproduce the issue. This subsequent testing showed that the average-borrow-time settled down to below 10 with no agents checking in.\n\nAt this point we are not able to explain or reproduce the issue of the ~1k average-borrow-time with no agents checking in, so this ticket is to report the issue we previously encountered.\n\nDescribe steps to reproduce\u2026\n\nPlease see SLV-470 (https://puppet.atlassian.net/browse/SLV-470) for testing details.\n\n*Desired Behavior:*\n\nThe reported average-borrow-time should be accurate and should not show unexpected activity when no agents are checking in. Although we're no longer able to reproduce the issue we would like to understand why it occurred and want to ensure that it is not a problem for the reliability of our tests or for our customers. \n\n*Actual Behavior:*\n\nThe reported average-borrow-time was higher than expected with no agents checking in during initial testing.\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\nRun puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16933", "fixedVersions": [], "id": "16933", "issueType": "Bug", "key": "SERVER-2631", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a5e592bec71fd29fa9a8628", "resolution": "Cannot Reproduce", "resolutionDate": "2020-11-24T12:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Inconsistent JRuby average-borrow-time values with no agents checking in", "timeSpent": "PT0S", "updated": "2020-11-24T12:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-09-11T17:30:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a01994e"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke6v:"}, {"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_*:*_492792394_*|*_1_*:*_1_*:*_15602_*|*_10007_*:*_1_*:*_115026119_*|*_3_*:*_1_*:*_1117875173_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4213054083"}], "description": "Right now we maintain a text domain per environment, and delete the domain when the environment is evicted from the cache. It's a significant amount of work to make this thread safe. For now we can make sure that the feature is turned off if the user enables multithreading.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16050", "fixedVersions": ["SERVER 6.7.2"], "id": "16050", "issueType": "New Feature", "key": "SERVER-2630", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2019-11-19T10:10:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Disable i18n when running multithreaded", "timeSpent": "PT0S", "updated": "2019-11-19T10:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-09-06T10:32:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1979fe92"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvrb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_155309046_*|*_1_*:*_1_*:*_899221_*|*_10007_*:*_1_*:*_17954157_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1560272096"}], "description": "Add debian-10-x86_64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16266", "fixedVersions": ["SERVER 6.7.0"], "id": "16266", "issueType": "Task", "key": "SERVER-2629", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-09-26T12:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable debian-10-x86_64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2019-09-26T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is pending an ezbake release, for the commit that makes the Debian 10 package require Java 11 on install rather than Java 8.", "created": "2019-09-17T16:07:00.000000"}], "components": [], "created": "2019-09-06T10:32:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1cf9179f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvr3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_155320190_*|*_1_*:*_1_*:*_890309_*|*_10007_*:*_1_*:*_17959717_*|*_3_*:*_2_*:*_100596083_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1459680691"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for debian-10-x86_64\n* Add debian-10-x86_64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16048", "fixedVersions": ["SERVER 6.7.0"], "id": "16048", "issueType": "Task", "key": "SERVER-2628", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-09-26T12:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable debian-10-x86_64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2019-09-26T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [{"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "I'm on it :)\n\nHopefully will be able to figure it out and get a fix early next week. Until then would recommend pinning to 6.3.1 or 6.4.0", "created": "2019-09-06T17:35:00.000000"}, {"author": "70121:64b5cafe-0ab2-41ab-95b8-7d7e6e30d2be", "body": "Thanks, already pined to 6.4.0 after discovering the issue.", "created": "2019-09-07T01:34:00.000000"}, {"author": "62ccea594c909d6a57aaa58e", "body": "Any ETA on this fix? The last 6.5.0 docker build worked fine. Also, is there a reason why older builds are being overwritten instead of version number incremented?", "created": "2019-09-09T16:52:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:62ccea594c909d6a57aaa58e] will either have a fix up this evening or early tomorrow (pacific time).\n\nWe build from source on commit and version the containers based on the latest released version, though this is something we're looking into alternate solutions to currently.", "created": "2019-09-09T17:08:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[https://github.com/puppetlabs/puppetserver/pull/2168]\u00a0resolves the issue in my local testing. Once that's merged a new container will be published with the fix", "created": "2019-09-09T18:23:00.000000"}, {"author": "62ccea594c909d6a57aaa58e", "body": "Excellent. Thank you very much.", "created": "2019-09-10T08:51:00.000000"}, {"author": "623a4c75761efb0069cd36f3", "body": "We just got bit by this same bug.\n\nWhy on earth are you pushing changes to an image and reusing the same image tag?!\n\nThis is very bad form. If you change an image, change the tag.", "created": "2019-09-11T13:28:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:623a4c75761efb0069cd36f3] as I said above, we're looking into alternate tagging solutions that still allow us to build from source. We won't have any solutions for that immediately but work is in progress.", "created": "2019-09-11T13:49:00.000000"}, {"author": "623a4c75761efb0069cd36f3", "body": "Appending a commit hash is an option I've seen other teams use.", "created": "2019-09-11T14:32:00.000000"}, {"author": "62ccea594c909d6a57aaa58e", "body": "FYI, I pulled the latest docker image after\u00a0[https://github.com/puppetlabs/puppetserver/pull/2168]\u00a0was merged. The bug appears to be fixed.", "created": "2019-09-12T09:34:00.000000"}], "components": ["Puppet Server"], "created": "2019-09-06T00:21:00.000000", "creator": "70121:64b5cafe-0ab2-41ab-95b8-7d7e6e30d2be", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3fb6887e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwvfb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_61065411_*|*_10007_*:*_1_*:*_171353109_*|*_3_*:*_1_*:*_325888046_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Server Version:* 6.5.0\n *OS Name/Version:*\n\nPuppetserver crashes on startup in docker\u00a019.03.2 on ubuntu 19.04 and 18.04\n\n*Desired Behavior:*\n\nVersion/Tag 6.4.0 works as always\n\n*Example:*\n Run docker puppet/puppetserver:6.5.0\n\n*Logs:*\n\n{{puppet | Caused by: org.jruby.exceptions.LoadError: (LoadError) no such file to load -- concurrent}}\n{{puppet | at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:987)}}\n{{puppet | at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54)}}\n{{puppet | at RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:1)}}\n{{puppet | at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:987)}}\n{{puppet | at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54)}}\n{{puppet | at RUBY.<module:(root)>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:1)}}\n{{puppet | at RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:41)}}\n{{puppet | at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:987)}}\n{{puppet | at RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:38)}}\n{{puppet | at RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)}}\n{{puppet | at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:987)}}\n{{puppet | at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54)}}\n{{puppet | at RUBY.<main>(uri:classloader:/puppetserver-lib/puppet/server.rb:1)}}\n{{puppet | at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:987)}}\n{{puppet | at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)}}\n{{puppet | at RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54)}}\n{{puppet | 2019-09-06 06:15:07,028 INFO [p.t.internal] Beginning shutdown sequence}}\n{{puppet | 2019-09-06 06:15:07,035 INFO [p.s.j.jruby-metrics-service] JRuby Metrics Service: stopping metrics sampler job}}\n{{puppet | 2019-09-06 06:15:07,036 INFO [p.s.j.jruby-metrics-service] JRuby Metrics Service: stopped metrics sampler job}}\n{{puppet | 2019-09-06 06:15:07,040 INFO [p.s.j.i.jruby-agents] Draining JRuby pool.}}\n{{puppet | 2019-09-06 06:15:07,043 ERROR [p.t.internal] Encountered error during shutdown sequence}}\n{{puppet | java.lang.InterruptedException: Lock can't be granted because a pill has been inserted}}\n{{puppet | at com.puppetlabs.jruby_utils.pool.JRubyPool.lockWithTimeout(JRubyPool.java:368)}}\n{{puppet | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)}}\n{{puppet | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}}\n{{puppet | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}\n{{puppet | at java.lang.reflect.Method.invoke(Method.java:498)}}\n{{puppet | at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167)}}\n{{puppet | at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__33967$borrow_all_jrubies__33972$fn__33973$fn__33974.invoke(jruby_agents.clj:126)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__33967$borrow_all_jrubies__33972$fn__33973.invoke(jruby_agents.clj:125)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__33967$borrow_all_jrubies__33972.invoke(jruby_agents.clj:117)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34047$drain_and_refill_pool_BANG___34056$fn__34059.invoke(jruby_agents.clj:191)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34047$drain_and_refill_pool_BANG___34056.invoke(jruby_agents.clj:173)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34088$flush_pool_for_shutdown_BANG___34093$fn__34094.invoke(jruby_agents.clj:212)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__34088$flush_pool_for_shutdown_BANG___34093.invoke(jruby_agents.clj:200)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.jruby_core$fn__35141$flush_pool_for_shutdown_BANG___35146$fn__35147.invoke(jruby_core.clj:236)}}\n{{puppet | at puppetlabs.services.jruby_pool_manager.jruby_core$fn__35141$flush_pool_for_shutdown_BANG___35146.invoke(jruby_core.clj:231)}}\n{{puppet | at puppetlabs.services.jruby.jruby_puppet_service$reify__35930$service_fnk__5004__auto___positional$reify__35944.stop(jruby_puppet_service.clj:52)}}\n{{puppet | at puppetlabs.trapperkeeper.services$fn__4854$G__4824__4857.invoke(services.clj:9)}}\n{{puppet | at puppetlabs.trapperkeeper.services$fn__4854$G__4823__4861.invoke(services.clj:9)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__14571$run_lifecycle_fn_BANG___14578$fn__14579.invoke(internal.clj:196)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__14571$run_lifecycle_fn_BANG___14578.invoke(internal.clj:179)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__15080$shutdown_BANG___15085$fn__15086$shutdown_fn__15088$fn__15103.invoke(internal.clj:438)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__15080$shutdown_BANG___15085$fn__15086$shutdown_fn__15088.invoke(internal.clj:437)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__14645$initialize_lifecycle_worker__14656$fn__14657$fn__14807$state_machine__11803__auto____14832$fn__14835$fn__14849.invoke(internal.clj:274)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__14645$initialize_lifecycle_worker__14656$fn__14657$fn__14807$state_machine__11803__auto____14832$fn__14835.invoke(internal.clj:258)}}\n{{puppet | at puppetlabs.trapperkeeper.internal$fn__14645$initialize_lifecycle_worker__14656$fn__14657$fn__14807$state_machine__11803__auto____14832.invoke(internal.clj:249)}}\n{{puppet | at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:973)}}\n{{puppet | at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:972)}}\n{{puppet | at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:977)}}\n{{puppet | at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:975)}}\n{{puppet | at clojure.core.async$ioc_alts_BANG_$fn__12018.invoke(async.clj:384)}}\n{{puppet | at clojure.core.async$do_alts$fn__11958$fn__11961.invoke(async.clj:253)}}\n{{puppet | at clojure.core.async.impl.channels.ManyToManyChannel$fn__6638.invoke(channels.clj:135)}}\n{{puppet | at clojure.lang.AFn.run(AFn.java:22)}}\n{{puppet | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}\n{{puppet | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}\n{{puppet | at java.lang.Thread.run(Thread.java:748)}}\n{{puppet | 2019-09-06 06:15:07,050 INFO [p.t.s.w.jetty9-service] Shutting down web server(s).}}\n{{puppet | 2019-09-06 06:15:07,055 INFO [p.t.s.s.scheduler-service] Shutting down Scheduler Service}}\n{{puppet | 2019-09-06 06:15:07,056 INFO [o.q.c.QuartzScheduler] Scheduler f0e2e9b5-d3ee-473a-a7fd-c8bb64fcc01b_$_NON_CLUSTERED shutting down.}}\n{{puppet | 2019-09-06 06:15:07,056 INFO [o.q.c.QuartzScheduler] Scheduler f0e2e9b5-d3ee-473a-a7fd-c8bb64fcc01b_$_NON_CLUSTERED paused.}}\n{{puppet | 2019-09-06 06:15:07,239 INFO [o.q.c.QuartzScheduler] Scheduler f0e2e9b5-d3ee-473a-a7fd-c8bb64fcc01b_$_NON_CLUSTERED shutdown complete.}}\n{{puppet | 2019-09-06 06:15:07,239 INFO [p.t.s.s.scheduler-service] Scheduler Service shutdown complete.}}\n{{puppet | 2019-09-06 06:15:07,244 INFO [p.t.internal] Finished shutdown sequence}}\n{{puppet | Execution error (LoadError) at org.jruby.RubyKernel/require (org/jruby/RubyKernel.java:987).}}\n{{puppet | (LoadError) no such file to load -- concurrent}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17564", "fixedVersions": [], "id": "17564", "issueType": "Bug", "key": "SERVER-2627", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:64b5cafe-0ab2-41ab-95b8-7d7e6e30d2be", "resolution": "Fixed", "resolutionDate": "2019-09-12T11:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver 6.5.0 crashes on startup", "timeSpent": "PT0S", "updated": "2019-09-12T11:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-09-05T17:57:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4711b4e4"}, {"fieldName": "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-10001"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvcf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2566_*|*_3_*:*_1_*:*_23217812_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1006927613"}], "description": "(Initial planned release date: 2019-09-17)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-09-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "estimate": "PT0S", "externalId": "16265", "fixedVersions": [], "id": "16265", "issueType": "Task", "key": "SERVER-2626", "labels": [], "originalEstimate": "PT0S", "parent": "28592", "parentSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-09-17T16:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-09-17T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-09-05T17:57:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11ca4ffa"}, {"fieldName": "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-10001"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvbz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2757_*|*_3_*:*_1_*:*_72250242_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_929769609"}], "description": "(Initial planned release date: 2019-09-17)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "estimate": "PT0S", "externalId": "15741", "fixedVersions": [], "id": "15741", "issueType": "Task", "key": "SERVER-2625", "labels": [], "originalEstimate": "PT0S", "parent": "28592", "parentSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-09-17T08:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-09-17T08:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-09-05T17:56:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@455bf7b3"}, {"fieldName": "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-10001"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvbr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2544_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_929772984"}], "description": "(Initial planned release date: 2019-09-17)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-09-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "estimate": "PT0S", "externalId": "15417", "fixedVersions": [], "id": "15417", "issueType": "Task", "key": "SERVER-2624", "labels": [], "originalEstimate": "PT0S", "parent": "28592", "parentSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-09-16T12:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-09-16T12:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-09-05T17:56:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6361cfa2"}, {"fieldName": "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-10001"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwvbj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2578_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_929770965"}], "description": "(Initial planned release date: 2019-09-17)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-09-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "estimate": "PT0S", "externalId": "15062", "fixedVersions": [], "id": "15062", "issueType": "Task", "key": "SERVER-2623", "labels": [], "originalEstimate": "PT0S", "parent": "28592", "parentSummary": "Puppet Platform 6.9.0 Release - 2019-09-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-09-16T12:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-09-16T12:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "636beee73867a77cb8d6d8e8", "created": "2019-09-04T02:12:00.000000", "name": "metrics.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10745"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the bug report! We'll look into this in the next week or two. Unfortunately we're really heads down this next week, but should be able to try and reproduce the week after!", "created": "2019-09-08T20:49:00.000000"}, {"author": "636beee73867a77cb8d6d8e8", "body": "Have you had a change to look at this? We're getting serious spikes in our catalog compilation and would love to have these metrics.", "created": "2019-10-17T04:00:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Were you able to come up with a configuration that works for this?\u00a0", "created": "2020-11-24T12:41:00.000000"}, {"author": "636beee73867a77cb8d6d8e8", "body": "No, still an open bug IMO (though I haven't worked with Puppet for 6 months)", "created": "2020-11-25T02:34:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "We could not reproduce this issue with the relevant puppet settings.\u00a0", "created": "2020-12-02T12:20:00.000000"}, {"author": "557058:054fa98a-5e29-48e7-aeca-d5542926f8ba", "body": "To reproduce, set profiler: enabled: false in puppetserver.conf.\n\nTo fix, remove this setting or explicitly set to true.\n\nIf you're using theforeman/puppet to configure puppetserver, also see https://github.com/theforeman/puppet-puppet/pull/825", "created": "2022-02-21T04:03:00.000000"}, {"author": "623c0ed8866b810069e43620", "body": "Finally got to the bottom of this. Puppetsever was being deployed via the {{ospuppet}} forge module, which defaults {{profiler}} setting to disabled. Updating this to be enabled has made the compiler metrics start flowing through to the tsdb. The comment in this file read \\{{enable or disable profiling for the Ruby code", "created": "2022-02-21T04:08:00.000000"}], "components": [], "created": "2019-09-04T02:22:00.000000", "creator": "636beee73867a77cb8d6d8e8", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7337b268"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwszj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_39351318265_*|*_6_*:*_2_*:*_184821"}], "description": "*Puppet Version: 6.8.0*\n *Puppet Server Version: 6.5.0*\n *OS Name/Version: CentOS 6/7*\n\nI have configured 3 of my puppetservers to send metric to a Graphite server, as per the\u00a0 [docs|https://puppet.com/docs/puppetserver/6.5/puppet_server_metrics.html].\n\nHowever, I am only receiving a subset of the default metrics which should be being forward to me - e.g. I am getting http[-client],jruby,puppetdb metrics, but am not receiving compiler/functions metrics. I have confirmed that it is the Server not sending the metrics via a packet capture, and running the server with Debug logging does not shed any light on problems. I have tried manually enabling specific metrics via `metrics-allowed`, again per the docs, but no success.\n\n*Desired Behavior:*\n\nPuppetServer sends all metrics (as per the default, or if explicitly specified)\n\n*Actual Behavior:*\n\nPuppetServer does not send all metrics, even when explicitly specified.\n\nExample\u00a0[^metrics.conf]\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17563", "fixedVersions": [], "id": "17563", "issueType": "Bug", "key": "SERVER-2622", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "636beee73867a77cb8d6d8e8", "resolution": "Cannot Reproduce", "resolutionDate": "2020-12-02T12:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Server only sends subset of default metrics", "timeSpent": "PT0S", "updated": "2022-02-21T04:08:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "This ticket needs to be scoped under the feature for \"orchestrator metrics.\"\u00a0 This may or may not be the right solution we should determine the correct implementation of orchestrator metrics and include this ticket or close it in favor of an alternate solution.\u00a0 [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0to talk to [~accountid:557058:2d7665f0-9d98-407f-86d7-8c4ec6a18b20]", "created": "2020-05-08T11:49:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "This isn't currently a priority for orchestrator metrics so this waiting for orchestrator metrics to become a priority.  ", "created": "2020-07-24T11:49:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Not a high enough priority", "created": "2022-01-26T11:25:00.000000"}], "components": [], "created": "2019-09-03T17:02:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c687aee"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_4232920574_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_54261447956_*|*_10006_*:*_1_*:*_3619364097_*|*_10005_*:*_1_*:*_13556060197"}], "description": "The {{jruby-metrics-service}} provided by Puppet Server contains instrumentation around requests that use the JRuby pool. These metrics include:\n\n  - Status of the JRuby pool lock and metrics for lock wait and hold times\n  - List of borrowed instances\n  - List of pending requests\n  - Average free and requested JRuby instances\n  - Per-borrow metrics that give rates and times for each borrow reason\n\nWe should move this service from puppetserver to the jruby-utils project so that other services using JRuby can benefit from the metrics.", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "16581", "fixedVersions": [], "id": "16581", "issueType": "Improvement", "key": "SERVER-2621", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Won't Do", "resolutionDate": "2022-01-26T11:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move jruby-metrics-service from puppetserver to jruby-utils", "timeSpent": "PT0S", "updated": "2022-01-26T11:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623a4ceda1d81f0069d8127c", "created": "2019-09-03T10:53:00.000000", "name": "agent.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11053"}, {"attacher": "623a4ceda1d81f0069d8127c", "created": "2019-09-04T10:27:00.000000", "name": "agent_new.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10589"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "You shouldn't set {{certname}} as you're forcing the server to generate an SSL certificate with common name \"localhost\" which doesn't match the host that the agent tried to connect to. Remove the {{certname}} setting in both server and agent configuration and regenerate the server certificate.", "created": "2019-09-03T11:12:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Thank you [~accountid:63d40628f6e1b543161789a7]\n\n\u00a0\n\nAfter removing\u00a0{{certname from both server and agent configuration. starting the agent gets:}}\n{{\"}}\n\n{{.....}}\n{{Debug: Creating new connection for https://x161.fyre.ibm.com:8140\nDebug: Starting connection for https://x161.fyre.ibm.com:8140\nDebug: HTTP GET https://x161.fyre.ibm.com:8140/puppet-ca/v1/certificate/xu161.fyre.ibm.com returned 404 Not Found\nDebug: Closing connection for https://x161.fyre.ibm.com:8140\nInfo: Certificate for xu161.fyre.ibm.com has not been signed yet\nCouldn't fetch certificate from CA server", "created": "2019-09-03T11:47:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Hi [~accountid:623a4ceda1d81f0069d8127c], I recommend joining the #puppet channel in\u00a0[https://slack.puppet.com/]\u00a0and folks there can help you get started.", "created": "2019-09-03T11:52:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Thanks for the replies on the Slack channel. But the problem is not solved.\nFollowing the example setting:\u00a0https://puppet.com/docs/puppet/6.7/config_file_main.html#examples\nI updated the server name of mine. It gets the same errors.\n\nIn addition, I installed puppetserver and puppet from the repository as mentioned by the document,\u00a0\n\nand set the configuration (/etc/puppetlabs/puppet/puppet.conf), and then start the puppetserver and agent.\nI got the almost the same errors.\u00a0 Please see the attachment \"agent_new.log\"\n\nI think the usage of running puppetserver and agent on the multiple VMs is a very normal and typical scenario.\nCould you please test and let me know how to config it?\n\nThanks,\n\n\n\n\u00a0", "created": "2019-09-04T10:30:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623a4ceda1d81f0069d8127c] our ticket tracker isn't the right forum for getting started with puppet. I suggest you start with the [learning vm|https://puppet.com/download-learning-vm] and reaching out to folks on slack.", "created": "2019-09-04T10:42:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "[~accountid:63d40628f6e1b543161789a7]\nDo not you think it may be\u00a0 a bug or mismatch between the application and documentation?", "created": "2019-09-04T10:54:00.000000"}], "components": ["Puppet Server"], "created": "2019-09-03T10:53:00.000000", "creator": "623a4ceda1d81f0069d8127c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72ce1572"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwsf3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2391399_*|*_6_*:*_2_*:*_83317502"}], "description": "*Puppet Version: 6.5.0*\n *Puppet Server Version: 6.5.0*\n *OS Name/Version: ubuntu 16.04*\n\nI can start `puppetserver` from source with the default configuration, and start the agent on the same host. But when I run the server and agent on the different hosts, I got\u00a0\n\nerrors.\n\nHere is the server config: \u00a0~/.puppetlabs/etc/puppet/puppet.conf :\n\n\u00a0 \u00a0\n\u00a0 \u00a0 [main]\n\u00a0 \u00a0\u00a0 certname = localhost\n\u00a0 \u00a0 [agent]\n\u00a0 \u00a0\u00a0 server = localhost\n\u00a0\nAnd the config of agent is\u00a0{color:#333333}~/.puppetlabs/etc/puppet/puppet.conf{color}{color:#333333} :{color}\n\u00a0 \u00a0 [main]\n\u00a0 \u00a0 \u00a0 certname = localhost\n\u00a0 \u00a0 [agent]\n\u00a0 \u00a0\u00a0 server = x161.fyre.ibm.com\n\u00a0\n\"{color:#333333}x161.fyre.ibm.com{color}\" is the host to run puppetserver by \"lein run -c dev/puppetserver.conf\"\nWhen run agent by \"puppet agent --confdir ~/.puppetlabs/etc/puppet -t --debug\", get:\n\n\u00a0 \u00a0 \u00a0\u00a0 ......\n\u00a0 \u00a0 \u00a0 \u00a0Debug: Creating new connection for https://x161.fyre.ibm.com:8140\n\u00a0 \u00a0 \u00a0\u00a0 Debug: Starting connection for https://x161.fyre.ibm.com:8140\n\u00a0 \u00a0 \u00a0\u00a0 Debug: HTTP GET https://x161.fyre.ibm.com:8140/puppet-ca/v1/certificate/ca returned 200 OK\n\u00a0 \u00a0 \u00a0\u00a0 Debug: Closing connection for https://x161.fyre.ibm.com:8140\n\u00a0 \u00a0 \u00a0\u00a0 Info: Downloaded certificate for ca from x161.fyre.ibm.com\n\u00a0 \u00a0 \u00a0\u00a0 Debug: Loading CRLs\n\u00a0 \u00a0 \u00a0\u00a0 Debug: Creating new connection for https://x161.fyre.ibm.com:8140\n\u00a0 \u00a0 \u00a0\u00a0 Debug: Starting connection for https://x161.fyre.ibm.com:8140\n\u00a0 \u00a0 \u00a0\u00a0 Error: Could not run: hostname \"x161.fyre.ibm.com\" does not match the server certificate\n\n\u00a0\nIs the configration not correct or missing something? How to config both server and agent?\n\nThanks,\n\u00a0\n\u00a0\n\n\u00a0", "environment": "x86_64 ubuntu-16.04", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14816", "fixedVersions": [], "id": "14816", "issueType": "Bug", "key": "SERVER-2620", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4ceda1d81f0069d8127c", "resolution": "Incomplete", "resolutionDate": "2019-09-04T10:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "How to run puppetserver and agent on different hosts?", "timeSpent": "PT0S", "updated": "2019-09-04T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "There were some mild security concerns raised in SERVER-1291. Naive benchmarking I did shows an order of magnitude improvement in repeated SSL requests to PuppetDB. Real-world usage at a site where catalog compilation made heavy use of PuppetDB queries showed a 10% benefit.\n\nI don't think the concerns expressed, subsequent compilations reusing the auth sessions of previous compilations, are serious enough to cancel the performance gains. Closing all established connections when a JRuby is returned to the pool might be a happy medium.\n\nOr, just relinquish control of the {{Connection}} header and let users add {{Connection: close}} for sessions they know are authenticated differently for different agents.", "created": "2022-01-13T17:24:00.000000"}], "components": [], "created": "2019-08-28T13:55: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@40f79912"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwopr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jan/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_97810741_*|*_10007_*:*_1_*:*_77400472_*|*_3_*:*_2_*:*_1137559341_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_29187880439_*|*_10006_*:*_1_*:*_48307935039_*|*_10005_*:*_1_*:*_936783537"}], "description": "We currently force connections closed in Puppet Server's Ruby HTTP client by setting the Connection header on every request to \"close\".\n\n\u00a0\n\nLooking over why we did it turns out this was to maintain backwards compatibility, however Puppet's behavior changed shortly after this implementation without security issue. We should like-wise follow suite.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15416", "fixedVersions": [], "id": "15416", "issueType": "Improvement", "key": "SERVER-2616", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Re-use HTTP connections in Ruby code", "timeSpent": "PT0S", "updated": "2022-03-08T12:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623a4ceda1d81f0069d8127c", "body": "More info:\n\nTo run puppetserver and agent on different VMs, it needs commands\n\u00a0 \u00a0 puppetserver ca sign --all\n\n\u00a0 \u00a0 puppetserver ca list --all\n\nBut what is the similar subcommands if running from source? in which case there is no \"puppetserver\" but \"lein\".", "created": "2019-09-04T13:16:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Is there any update on this issue? Thx.", "created": "2019-11-27T08:12:00.000000"}, {"author": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "body": "That looks like an error in the documentation. For the command to work that way it has to be implemented as a Leiningen alias, which is done here [https://github.com/puppetlabs/puppetserver/blob/e3874b2360501a26518d2f904035a6b84f25b9d9/project.clj#L224-L227].\n\nSince the {{ca}} command is a {{puppetserver}} command I believe you need to do something like this:\n\n{{lein run -- -c dev/puppetserver.conf ca}}", "created": "2020-02-05T11:53:00.000000"}, {"author": "6243b1f045ece00069c8fe68", "body": "lein run \u2013 -c dev/puppetserver.conf ca run fine without any errors.", "created": "2020-03-27T05:14:00.000000"}, {"author": "6243b1f045ece00069c8fe68", "body": "lein run \u2013 -c dev/puppetserver.conf ca works fine", "created": "2020-03-27T05:15:00.000000"}], "components": ["Puppet Server"], "created": "2019-08-28T08:38:00.000000", "creator": "623a4ceda1d81f0069d8127c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@582bfb46"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwodb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_18304641872_*|*_6_*:*_1_*:*_0"}], "description": "According to document https://github.com/puppetlabs/puppetserver/blob/6.5.0/documentation/subcommands.markdown\n\n{color:#24292e}When running from source, the subcommand is :\n\u00a0 \u00a0{color:#24292e}lein {color}{color:#d73a49}<{color}{color:#24292e}subcommand{color}{color:#d73a49}>{color}{color:#24292e} -c /path/to/puppetserver.conf [--] [{color}{color:#d73a49}<{color}{color:#24292e}args{color}{color:#d73a49}>{color}{color:#24292e}]{color}\n{color}\n\n{color:#24292e}\nHowever \"lein ca ....\" does not work, it gets errors like:\n\n{color}\n{color:#006000}\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'ca' is not a task. See 'lein help'.{color}\n{color:#006000}\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Did you mean this?\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 jar\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 do\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 vcs\n\n`Lein help` also show no option of `ca`.\u00a0\nProbably the document does not match the actual usage of `lein`. {color}\n{color:#006000}Can you let me know how to run the similar subcommand of\u00a0 `{color:#24292e}puppetserver{color} ca ... ` when I run from source?\n\n\u00a0\n{color}", "environment": "x86_84-Linux , ubuntu 16.04", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15414", "fixedVersions": [], "id": "15414", "issueType": "Bug", "key": "SERVER-2615", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4ceda1d81f0069d8127c", "resolution": "Fixed", "resolutionDate": "2020-03-27T05:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "subcommands \"ca\" does not work", "timeSpent": "PT0S", "updated": "2020-03-27T05:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623a4ceda1d81f0069d8127c", "created": "2019-08-27T08:55:00.000000", "name": "spec.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10744"}, {"attacher": "623a4ceda1d81f0069d8127c", "created": "2019-08-27T09:04:00.000000", "name": "test.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10673"}], "comments": [{"author": "623a4ceda1d81f0069d8127c", "body": "Any update on this issue? Thx", "created": "2019-11-27T08:15:00.000000"}, {"author": "623e768c4a57610068e883dd", "body": "Any update on this issue?\u00a0 or is obsolete?\u00a0", "created": "2020-05-26T15:24:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Did you run [https://github.com/puppetlabs/puppetserver/blob/6.x/dev-setup]\u00a0before running {{lein test}}?", "created": "2020-11-24T12:46:00.000000"}], "components": ["Puppet Server"], "created": "2019-08-27T09:06:00.000000", "creator": "623a4ceda1d81f0069d8127c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c172bbf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwmyf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_41327261215_*|*_6_*:*_1_*:*_0"}], "description": "1) Following instruction `[https://github.com/puppetlabs/puppetserver/blob/master/documentation/dev_running_from_source.markdown]`\n\nrun test \"lein spec\" and get errors as:\n\n\" ...\n\n...............2019-08-26 13:43:39,658 ERROR [main] [c.p.h.c.i.PersistentSyncHttpClient] Error executing http request\njava.net.ConnectException: Connection refused\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779)\n\n\n\n\"\nThe complete log see the attachment.\nThe configuration is as the default, is there any special configuration that is not mentioned in the instruction?\n\n2) The test \"lein test\"\u00a0 shows :\n\"Ran 186 tests containing 2598 assertions.\n10 failures, 0 errors.\"\u00a0\n\n\nThese 10 failures are as follows:\n\"\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:324)\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:329)\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:339)\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:344)\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:345)\nFAIL in (autosign-csr?-ruby-exe-test) (certificate_authority_test.clj:349)\nFAIL in (handle-put-certificate-request!-test) (certificate_authority_core_test.clj:242)\nFAIL in (handle-delete-certificate-request!-test) (certificate_authority_core_test.clj:217)\nFAIL in (handle-delete-certificate-request!-test) (certificate_authority_core_test.clj:218)\nFAIL in (handle-delete-certificate-request!-test) (certificate_authority_core_test.clj:220)\n\"\nIs there any special configuration on\u00a0 authority of SSL?", "environment": "x86-64 Linux, ubuntu 16.04", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16264", "fixedVersions": [], "id": "16264", "issueType": "Bug", "key": "SERVER-2614", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4ceda1d81f0069d8127c", "resolution": "Cannot Reproduce", "resolutionDate": "2020-12-17T15:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "{Running tests  gets errors of \"Connection refused\" on x86_64-linux}", "timeSpent": "PT0S", "updated": "2020-12-17T15:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We'll probably start working on this sometime in the next month or so, after we're finished with the work for our next PE release. In the future, I'd like to try to coordinate the server support for new Debians more closely with the agent support. Since Debian is the only FOSS-only master platform we support, the process around adding new ones is not well-established, and it fell through the cracks this time. But coming soon!", "created": "2019-09-06T10:10:00.000000"}, {"author": "623a4a598d8b9c0068b7e31a", "body": "Thanks. Also, it would be good to schedule the packaging work such that packages for the new OS are ready before the release of the OS, so that users can upgrade immediately.", "created": "2019-09-06T10:40:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yep, agreed. We did that for the recent RHEL 8 release, and I'm going to try to make sure we're tracking Debian more closely in the future. Thanks for filing this!", "created": "2019-09-06T10:43:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "These packages will be released next week with Puppet Server 6.7.0. Nightlies are available now from http://nightlies.puppet.com/apt/.\n\nPuppetDB packages will also be going out with that release, and their nightlies will be up shortly, if that is relevant to you.", "created": "2019-09-26T12:44:00.000000"}], "components": ["Puppet Server"], "created": "2019-08-24T11:13:00.000000", "creator": "623a4a598d8b9c0068b7e31a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6320ced8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzwlgn:"}, {"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": "We are now shipping Debian 10 packages for Puppet Server. Note that these packages require Java 11 to be installed, rather than Java 8."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_156827839_*|*_1_*:*_1_*:*_870399603_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1829410615"}], "description": "Please build puppetserver packages for Debian 10 (buster).\n\nThey currently do not exist:\n* http://nightlies.puppetlabs.com/apt/pool/buster/puppet-nightly/p/\n* https://apt.puppetlabs.com/pool/buster/puppet/p/\n\nCompare with the available Debian 9 (stretch) packages:\n* https://apt.puppetlabs.com/pool/stretch/puppet/p/\n* http://nightlies.puppetlabs.com/apt/pool/stretch/puppet-nightly/p/\n\nThanks.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14815", "fixedVersions": ["SERVER 6.7.0"], "id": "14815", "issueType": "Bug", "key": "SERVER-2613", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4a598d8b9c0068b7e31a", "resolution": "Done", "resolutionDate": "2019-09-26T12:44:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create Debian 10 (buster) packages of puppetserver", "timeSpent": "PT0S", "updated": "2019-09-27T14:51:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The puppetserver version of this update is included in https://github.com/puppetlabs/puppetserver/pull/2134.\n\nThe pe-puppetserver version is https://github.com/puppetlabs/pe-puppetserver/pull/373.", "created": "2019-08-23T09:22:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It appears that https://github.com/puppetlabs/ezbake/commit/fa844980a60e105270e0383ef1ddc4e8e3173d15 has broken ezbake builds for pe-puppetserver, need to get that sorted before this can go in. /cc [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]", "created": "2019-08-23T11:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've put up https://github.com/puppetlabs/ezbake/pull/551 which seems to fix the ezbake error. The build now succeeds. So we'll probably need another ezbake release.", "created": "2019-08-23T14:36:00.000000"}], "components": [], "created": "2019-08-22T17:38: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@24b79e74"}, {"fieldName": "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": "SERVER-2524"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke47:"}, {"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_*:*_694422348_*|*_1_*:*_1_*:*_10110_*|*_3_*:*_2_*:*_260654056_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_63178321"}], "description": "This ezbake update contains support for new environment variables for setting the randomness source. This is used in FIPS builds to ensure a secure randomness sources. See SERVER-2602.", "epicLinkSummary": "FIPS-Enabled Puppet Server Side", "estimate": "PT0S", "externalId": "16932", "fixedVersions": ["SERVER 6.6.0"], "id": "16932", "issueType": "Task", "key": "SERVER-2612", "labels": [], "originalEstimate": "PT0S", "parent": "16326", "parentSummary": "FIPS-Enabled Puppet Server Side", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-09-03T12:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update Ezbake to 2.1.1 in all puppetserver and pe-puppetserver", "timeSpent": "PT0S", "updated": "2019-09-03T12:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should wait to merge this, and see if JRuby needs to do any patch releases on top of this before we upgrade.", "created": "2019-08-22T17:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "New versions of lein (2.8+, we are now using 2.9.1 to release and deploy) do not include the {{project.clj}} at the root of the jar. This is used by ezbake when including JRuby as an additional jar when building pe-puppetserver. As a short term fix, I have put up https://github.com/puppetlabs/jruby-deps/pull/19 fixing this in jruby-deps, which ensures that this file will be present in the resulting jar. Once that is merged we will need to re-release jruby-deps to be able to continue building pe-puppetserver.", "created": "2019-08-29T16:30:00.000000"}], "components": [], "created": "2019-08-20T09:30: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@7226dbdf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwhov:"}, {"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_*:*_583861720_*|*_1_*:*_1_*:*_10853_*|*_10007_*:*_2_*:*_636150802_*|*_3_*:*_1_*:*_21956_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_314489"}], "description": "Shortly after we updated to JRuby 9.2.7.0, 9.2.8.0 was released. This update contains numerous performance and memory improvements, and also fixes a bug that currently makes SERVER-2193 less useful. We should update to 9.2.8.0.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16046", "fixedVersions": ["SERVER 6.6.0"], "id": "16046", "issueType": "Task", "key": "SERVER-2611", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-09-03T12:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby to 9.2.8.0", "timeSpent": "PT0S", "updated": "2019-09-03T12:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "attachments": [], "comments": [], "components": [], "created": "2019-08-20T08:36: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@2c7a665b"}, {"fieldName": "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-2854"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwhmv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_1793979338_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_47898455162"}], "description": "Remove {{Ubuntu 14.04}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove Ubuntu 14.04 FOSS support", "estimate": "PT0S", "externalId": "15740", "fixedVersions": [], "id": "15740", "issueType": "Task", "key": "SERVER-2610", "labels": [], "originalEstimate": "PT0S", "parent": "58045", "parentSummary": "Remove Ubuntu 14.04 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Done", "resolutionDate": "2021-03-17T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Ubuntu 14.04 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2021-03-17T12:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Spoke with the Froyo team and this is non-trivial.  There's not an easy way to track how much space an environment is using in the cache and we foresee this as becoming less important with the introduction of multithreaded puppet.  ", "created": "2020-02-25T13:44:00.000000"}], "components": [], "created": "2019-08-09T18:07:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@363aa465"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "10500.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwbqn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Nov/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6650891067_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_10616942571"}], "description": "A significant source of RAM usage in Puppet Server is the Puppet environment_cache:\n\nhttps://github.com/puppetlabs/puppet/blob/6.7.2/lib/puppet/environments.rb#L294\n\nThis cache is controlled by the {{environment_timeout}} settings allows users to trade off I/O and CPU time spent reading and parsing Puppet manifests by storing the results in RAM for use in multiple catalog compilations.\n\nPuppet Server should expose the RAM usage of each cached environment as a metric so that users can evaluate the cost of keeping their code cached in RAM and also plan for capacity increases as a result of adding new environments.", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "16580", "fixedVersions": [], "id": "16580", "issueType": "New Feature", "key": "SERVER-2609", "labels": [], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Won't Do", "resolutionDate": "2020-02-25T13:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Expose RAM usage of the environment cache as a metric", "timeSpent": "PT0S", "updated": "2020-03-27T10:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not releasing Server this time around.", "created": "2019-08-15T17:34:00.000000"}], "components": [], "created": "2019-08-08T16:00:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@739d9db7"}, {"fieldName": "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-9945"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwavz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2720_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_610411599"}], "description": "(Initial planned release date: 2019-08-21)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-08-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "estimate": "PT0S", "externalId": "15060", "fixedVersions": [], "id": "15060", "issueType": "Task", "key": "SERVER-2608", "labels": [], "originalEstimate": "PT0S", "parent": "21262", "parentSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Won't Do", "resolutionDate": "2019-08-15T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-08-15T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not releasing Server this time around.", "created": "2019-08-15T17:34:00.000000"}], "components": [], "created": "2019-08-08T16:00:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7af12fbb"}, {"fieldName": "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-9945"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwavj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2556_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_610428052"}], "description": "(Initial planned release date: 2019-08-21)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-08-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "estimate": "PT0S", "externalId": "17562", "fixedVersions": [], "id": "17562", "issueType": "Task", "key": "SERVER-2607", "labels": [], "originalEstimate": "PT0S", "parent": "21262", "parentSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Won't Do", "resolutionDate": "2019-08-15T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-08-15T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not releasing Server this time around.", "created": "2019-08-15T17:34:00.000000"}], "components": [], "created": "2019-08-08T16:00:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1c23023f"}, {"fieldName": "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-9945"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwavb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2536_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_610434701"}], "description": "(Initial planned release date: 2019-08-21)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-08-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "estimate": "PT0S", "externalId": "17136", "fixedVersions": [], "id": "17136", "issueType": "Task", "key": "SERVER-2606", "labels": [], "originalEstimate": "PT0S", "parent": "21262", "parentSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Won't Do", "resolutionDate": "2019-08-15T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-08-15T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're not releasing Server this time around.", "created": "2019-08-15T17:34:00.000000"}], "components": [], "created": "2019-08-08T16:00:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fd98452"}, {"fieldName": "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-9945"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwav3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2786_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_610441272"}], "description": "(Initial planned release date: 2019-08-21)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-08-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "estimate": "PT0S", "externalId": "16931", "fixedVersions": [], "id": "16931", "issueType": "Task", "key": "SERVER-2605", "labels": [], "originalEstimate": "PT0S", "parent": "21262", "parentSummary": "Puppet Platform 6.8.0 Release - 2019-08-21\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Won't Do", "resolutionDate": "2019-08-15T17:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.6.0)", "timeSpent": "PT0S", "updated": "2019-08-15T17:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It sounds like all the information needed to catch this is already provided by the endpoint: If the same module appears multiple times, you're probably doing something odd with your workflow. If you know you have that workflow, you should watch out for this.\n\nWe're unlikely to do anything with this any time soon, so I'm going to close this. Please reopen if it becomes urgent.", "created": "2020-12-02T12:32:00.000000"}], "components": [], "created": "2019-08-06T19:31:00.000000", "creator": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "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 endpoint either reports concise output about installed modules, or reports a warning or error about the improper module installation."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@60b6de3b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzw8af:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_41796026161_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* N/A\n*Puppet Server Version:* 6.3.1, 5.3.9 (PE 2018.1.9, PE 2019.1.1)\n*OS Name/Version:* CentOS 7\n\nIt is possible to copy, rename, or install modules within an environment's modules path to result in multiple copies of the same module. The {{environment_modules}} endpoint will then report the same module multiple times in the same environment.\n\n*Steps to reproduce*\n\n1. Install a module to an environment's modules path.\n2. Make a copy of that module within the same modules path. (ie. {{cp -r module_name module_name_2}})\n3. Confirm the endpoint's response.\n\n*Desired Behavior:*\n\nThe endpoint's report should align with the expected Puppet behavior when interpreting code in this scenario. For example, if that expected behavior is to use the first module found when interpreting Puppet code, then only the first\u00a0copy of the module found should be reported by the endpoint. (The expected behavior is unclear.)\n\nOR\n\nWarn or produce an error when the same module appears to be installed multiple times in an environment's modules path.\n\n*Actual Behavior:*\n\nThe endpoint reports the same module twice. It is unclear whether this negatively affects any other functionality or performance.\n\n{code}\n[root@pe-201911-master modules]# ls -la\ntotal 4\ndrwxr-xr-x. 3 pe-puppet pe-puppet   27 Aug  7 00:34 .\ndrwxr-xr-x. 6 pe-puppet pe-puppet  103 Aug  7 00:24 ..\ndrwxr-xr-x. 8 pe-puppet pe-puppet 4096 Aug  7 00:34 oracle_webgate\n[root@pe-201911-master modules]# curl --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --insecure -X GET https://127.0.0.1:8140/puppet/v3/environment_modules | python -m json.tool | grep elibus\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0\n100   121  100   121    0     0    692      0 --:--:-- --:--:-- --:--:--   691\n                \"name\": \"elibus/oracle_webgate\",\n[root@pe-201911-master modules]#\n[root@pe-201911-master modules]# cp -r oracle_webgate/ oracle_webgate_2\n[root@pe-201911-master modules]# ls -la\ntotal 8\ndrwxr-xr-x. 4 pe-puppet pe-puppet   50 Aug  7 01:13 .\ndrwxr-xr-x. 6 pe-puppet pe-puppet  103 Aug  7 00:24 ..\ndrwxr-xr-x. 8 pe-puppet pe-puppet 4096 Aug  7 00:34 oracle_webgate\ndrwxr-xr-x. 8 root      root      4096 Aug  7 01:13 oracle_webgate_2\n[root@pe-201911-master modules]# curl --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --insecure -X GET https://127.0.0.1:8140/puppet/v3/environment_modules | python -m json.tool | grep elibus\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100   172  100   172    0     0   1113      0 --:--:-- --:--:-- --:--:--  1116\n                \"name\": \"elibus/oracle_webgate\",\n                \"name\": \"elibus/oracle_webgate\",\n[root@pe-201911-master modules]# curl --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --insecure -X GET https://127.0.0.1:8140/puppet/v3/environment_modules | python -m json.tool\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100   172  100   172    0     0   1144      0 --:--:-- --:--:-- --:--:--  1146\n[\n    {\n        \"modules\": [],\n        \"name\": \"enterprise\"\n    },\n    {\n        \"modules\": [\n            {\n                \"name\": \"elibus/oracle_webgate\",\n                \"version\": \"0.2.9\"\n            },\n            {\n                \"name\": \"elibus/oracle_webgate\",\n                \"version\": \"0.2.9\"\n            }\n        ],\n        \"name\": \"production\"\n    }\n]\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15058", "fixedVersions": [], "id": "15058", "issueType": "Bug", "key": "SERVER-2604", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "resolution": "Won't Fix", "resolutionDate": "2020-12-02T12:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Modules can be installed multiple times in a module dir, resulting in duplicate environment_modules entries", "timeSpent": "PT0S", "updated": "2020-12-02T12:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5e3375e183d74c0e821851f3", "body": "https://github.com/puppetlabs/puppetserver-ca-cli/pull/54 was opened for this issue. With the PR applied we get the following results.\n\n{code}\n[root@pe-201910-master ca]# echo '15C' > serial\n[root@pe-201910-master ca]# puppetserver ca generate --certname testing123 --ca-client\nSuccessfully saved certificate for testing123 to /etc/puppetlabs/puppet/ssl/certs/testing123.pem\nSuccessfully saved certificate for testing123 to /etc/puppetlabs/puppet/ssl/ca/signed/testing123.pem\nSuccessfully saved private key for testing123 to /etc/puppetlabs/puppet/ssl/private_keys/testing123.pem\nSuccessfully saved public key for testing123 to /etc/puppetlabs/puppet/ssl/public_keys/testing123.pem\n[root@pe-201910-master ca]# cat serial\n015D\n{code}", "created": "2019-08-06T16:31:00.000000"}], "components": ["CLI"], "created": "2019-08-06T13:48: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@1349a961"}, {"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": "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|hzw82n:"}, {"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 Puppet Server CA CLI now correctly uses hex serial numbers for certs."}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "4.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "35760,36174,38912,44506"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_411696569_*|*_1_*:*_1_*:*_623761547_*|*_10007_*:*_1_*:*_97716664_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.x*\n *Puppet Server Version: 6.x*\n *OS Name/Version: EL 7*\n\nPuppetserver cli 1.3.1 will convert the {{serial}} file from a hex number to an integer when running {{puppetserver ca generate --certname testing --ca-client}}. Unfortunately, this will cause duplicate serials to be used in new certificates. The issue we saw this with reverted {{0x686B}} to {{0x0678}}, so new certificates used already provisioned serials, some of which were revoked. Thousands of more would have been reused.\n\nThis looks to be caused by converting the hex to an int here: https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/local_certificate_authority.rb#L96 instead of {{to_i(16)}} and then when it is written at https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/local_certificate_authority.rb#L262 instead of {{serial.to_s(16)}}\n\n*Desired Behavior:*\n\nRunning {{puppetserver ca generate --certname testing --ca-client}} should increment the {{serial}} file.\n\n*Actual Behavior:*\n\nRunning {{puppetserver ca generate --certname testing --ca-client}} converts the hex serial file into a decimal which can be lower than the hex value, causing it to reuse serial numbers on future certificate generation.\n\nExamples:\n \n{code}\n[root@pe-201910-master ca]# cat serial \n014B\n[root@pe-201910-master ca]# puppetserver ca generate --certname testing --ca-client\nSuccessfully saved certificate for testing to /etc/puppetlabs/puppet/ssl/certs/testing.pem\nSuccessfully saved certificate for testing to /etc/puppetlabs/puppet/ssl/ca/signed/testing.pem\nSuccessfully saved private key for testing to /etc/puppetlabs/puppet/ssl/private_keys/testing.pem\nSuccessfully saved public key for testing to /etc/puppetlabs/puppet/ssl/public_keys/testing.pem\n[root@pe-201910-master ca]# cat serial \n15\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17134", "fixedVersions": ["SERVER 6.3.2"], "id": "17134", "issueType": "Bug", "key": "SERVER-2603", "labels": ["jira_escalated", "resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Fixed", "resolutionDate": "2019-08-19T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver ca generate converts serial to decimal", "timeSpent": "PT0S", "updated": "2021-06-10T04:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] thanks for reminding me.\u00a0 probably not super well defined ticket, but hopefully this is enough.", "created": "2019-07-31T16:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've got PRs:\n * against puppetserver to stop managing egd in non-service cli subcommands that we provide (merged) [https://github.com/puppetlabs/puppetserver/pull/2147]\n * against ezbake to stop managing egd in service related cli subcommands that it provides (merged) [https://github.com/puppetlabs/ezbake/pull/548]\n * against puppet-enterprise-modules to manage egd for services with JAVA_ARGS and provide a CLI_TOOLS_EGD variable for non-service subcommands (merged)\u00a0[https://github.com/puppetlabs/puppet-enterprise-modules/pull/509]\n * against pe-puppet-server-extensions to honor the CLI_TOOLS_EGD in our non-service subcommands (merged) [https://github.com/puppetlabs/pe-puppet-server-extensions/pull/1089]\n\nOnce the rest of these are merged AND ezbake is released with my changes we'll need to take up the new ezbake everywhere.", "created": "2019-08-15T14:25:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "(wrt docs, this isn't so much a bug fix or improvement, just a lateral change that enables some other work that user's might be curious about)", "created": "2019-08-17T10:28:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ezbake change went out in 1.1.1, bump for puppetserver is in\u00a0[puppetserver#2134|https://github.com/puppetlabs/puppetserver/pull/2134]", "created": "2019-08-21T22:43:00.000000"}], "components": ["Puppet Server"], "created": "2019-07-31T16:31:00.000000", "creator": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "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": "full entropy blocking /dev/random use for all security related random number gen"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17ff63cd"}, {"fieldName": "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": "SERVER-2524"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzw3hb:"}, {"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": "Puppet Server no longer hardcodes Java's egd parameter. Users may manage the value via JAVA_ARGS or JAVA_ARGS_CLI in the defaults file."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_319621243_*|*_1_*:*_1_*:*_71085388_*|*_10007_*:*_1_*:*_613833306_*|*_3_*:*_2_*:*_900849356_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_316193734"}], "epicLinkSummary": "FIPS-Enabled Puppet Server Side", "estimate": "PT0S", "externalId": "17132", "fixedVersions": ["SERVER 6.6.0"], "id": "17132", "issueType": "New Feature", "key": "SERVER-2602", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": "16326", "parentSummary": "FIPS-Enabled Puppet Server Side", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "resolution": "Done", "resolutionDate": "2019-08-26T09:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server should use /dev/random for RNG in FIPS", "timeSpent": "PT0S", "updated": "2019-09-12T11:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've spoke with SLV about this, and written up a reference doc for their work and other internal testing: https://docs.google.com/document/d/18WLw5dqx1bLxMEmry9W-gI9-hgPYf-Fn8oZQWSCBfNs/edit?usp=sharing\n\nThe current goal is to have a baseline idea of the perf characteristics as compares to single-threaded mode for the January release, followed by more targeted scale testing in February and March.", "created": "2020-01-13T09:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have the results of the initial smoke test: https://confluence.puppetlabs.com/pages/viewpage.action?spaceKey=SRE&title=Apples+2+Apples+with+Thread-Safe+Puppet\n\nResults look generally slightly better than single-threaded mode with no special tuning, notably lower CPU usage and slight improvement in compile times. The memory usage decrease was more obvious outside the Java heap, but we might be able to configure the heap lower now. That will need further experimentation.\n\nNext step, scale testing.", "created": "2020-01-21T10:23:00.000000"}, {"author": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "body": "While experimental testing of puppetserver on its own is good, I'd really encourage us to take this opportunity to update our performance test suites to rely less on testing only compiles. Agentless is a core part of the product now, and we need to ensure that our advertised \"nodes per GiB RAM\" numbers means not just compiles, but any mix of enforcement and ad-hoc.\n\nI'm going to work on a proposal for what that needs to look like and will follow up.", "created": "2020-02-03T14:53:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're unlikely to do any more with this any time soon.", "created": "2022-02-22T14:51:00.000000"}], "components": [], "created": "2019-07-30T15:45: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@46313bd4"}, {"fieldName": "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": "SERVER-2823"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykecv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6514653_*|*_3_*:*_1_*:*_774693448_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_65164726413_*|*_10006_*:*_1_*:*_5850211358_*|*_10005_*:*_1_*:*_9247407936"}], "description": "We should use SLV's gatling setup to test the performance characteristics and resource requirements of Puppet Server set up to run with run JRuby instance and multiple threads.\n\nThis will enable us to give some tuning recommendations when multithreading is enabled.\n\nTo really exercise the thread safety changes we plan to make, we should ensure that multiple agents making requests for different catalogs in different environments are used to put load on the Server.", "epicLinkSummary": "Mutlithreaded Perfomance Evaluation", "estimate": "PT0S", "externalId": "14814", "fixedVersions": [], "id": "14814", "issueType": "Task", "key": "SERVER-2601", "labels": [], "originalEstimate": "PT0S", "parent": "16363", "parentSummary": "Mutlithreaded Perfomance Evaluation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2022-02-22T14:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Performance testing with single JRuby instance running multi-threaded", "timeSpent": "PT0S", "updated": "2022-02-22T14:51:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm doing some pretty significant work in the JRuby utils library right, I'm going to keep this in mind and see if it's feasible to provide any more information in those cases.", "created": "2019-10-25T17:30:00.000000"}], "components": [], "created": "2019-07-29T16:04: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@700de798"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzw007:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7608323710_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_73524655683"}], "description": "*Puppet Version: 5.5.14*\n *Puppet Server Version: 5.3.8*\n *OS Name/Version: RHEL 7.5*\n\n*Desired Behavior:*\u00a0Puppet Server should try to self-correct or output a more helpful error message with a summary of the types of things that could have caused the issue and how the system can be recovered.\u00a0 **\n\n*Actual Behavior:*\n\nUnder certain conditions, when Puppet server fails to start up, it will output the following message into the logs:\n\n[https://github.com/puppetlabs/jruby-utils/blob/c68cd44323aec3c0c708c285a9c7436ec379f49b/src/java/com/puppetlabs/jruby_utils/pool/JRubyPool.java#L321]\n\nAs most users aren't likely familiar with what a poison pill is or what to do about it, this should be changed in favor of a more helpful explanation of what has failed and possible reasons why.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15739", "fixedVersions": [], "id": "15739", "issueType": "Improvement", "key": "SERVER-2600", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:03aedc5a-47b0-4c60-a13f-46427c87153e", "resolution": "Won't Fix", "resolutionDate": "2022-02-22T16:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve \"a pill has been inserted\" error message to be more helpful in the event of a failure", "timeSpent": "PT0S", "updated": "2022-02-22T16:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Is this something that is happening all the time for you? Or did it only happen once and then go away as the CA state changed? We've seen this kind of thing before when a cert gets signed (and therefore its certificate request disappears) while trying to list all the certs and CSRs.", "created": "2019-07-25T17:22:00.000000"}, {"author": "6243add27a3f9e006ab1849d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]: it happens all the time :)", "created": "2019-07-26T06:51:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "What is the state of the SSL dir on your master? ({{/etc/puppetlabs/puppet/ssl}}) Specifically, I'm curious if there are any files in the {{/ssl/ca/requests}} dir, since this is the dir that the tool is trying to parse pending requests from.\n\nDoes it work without the {{--all}} flag?", "created": "2019-08-02T11:17:00.000000"}, {"author": "6243add27a3f9e006ab1849d", "body": "Thank you Maggie, this was a great hint!\nThere were empty .pem files in the requests dir.\nAfter deleting them, everything works like expected.\n\nMaybe it's worth to improve the error message / handling here?", "created": "2019-08-03T07:00:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Great, glad we could fix it! We can definitely look into better error messaging. Do you mind if I add something to the description of this ticket and repurposed it to track that work?", "created": "2019-08-05T09:11:00.000000"}, {"author": "6243add27a3f9e006ab1849d", "body": "updated the ticket.", "created": "2019-08-05T11:03:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this feature, for us to actively work on this feature.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T13:22:00.000000"}], "components": ["Certificate Authority", "CLI"], "created": "2019-07-25T03:31:00.000000", "creator": "6243add27a3f9e006ab1849d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@59539f99"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvxyn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7998853809_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_74725042593"}], "description": "*Puppet Version: 6.7.0*\n *Puppet Server Version: 6.5.0*\n *OS Name/Version: Debian 9.9*\n\n\u00a0\n\n*Desired Behavior:*\n\nList all signed certificates of the authority. If there are incompatible files in some directories (e.g. empty certificate files), show an error message instead of a 500 with not very useful information\n\n*Actual Behavior:*\n\n\u00a0\n{code:java}/opt/puppetlabs/bin/puppetserver ca list --all\n2019-07-25 09:29:42.694368 WARN  puppetlabs.facter - locale environment variables were bad; continuing with LANG=C LC_ALL=C\nError:\n    code: 500\n    body: Internal Server Error: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0\nNo certificates to list\n\n{code}\nLogs says:\n{code:java}==> /var/log/puppetlabs/puppetserver/puppetserver.log <====> /var/log/puppetlabs/puppetserver/puppetserver.log <==2019-07-25T09:30:26.444Z ERROR [qtp116214013-34] [p.r.core] Internal Server Error: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:657) at java.util.ArrayList.get(ArrayList.java:433) at com.puppetlabs.ssl_utils.SSLUtils.pemToCertificateRequest(SSLUtils.java:417) at puppetlabs.ssl_utils.core$fn__21859$pem__GT_csr__21864$fn__21865.invoke(core.clj:584) at puppetlabs.ssl_utils.core$fn__21859$pem__GT_csr__21864.invoke(core.clj:577) at puppetlabs.puppetserver.certificate_authority$fn__37270$get_certificate_status_STAR___37275$fn__37276.invoke(certificate_authority.clj:1355) at puppetlabs.puppetserver.certificate_authority$fn__37270$get_certificate_status_STAR___37275.invoke(certificate_authority.clj:1347) at clojure.core$partial$fn__5843.invoke(core.clj:2638) at clojure.core$map$fn__5866.invoke(core.clj:2755) at clojure.lang.LazySeq.sval(LazySeq.java:42) at clojure.lang.LazySeq.seq(LazySeq.java:51) at clojure.lang.Cons.next(Cons.java:39) at clojure.lang.RT.next(RT.java:713) at clojure.core$next__5386.invokeStatic(core.clj:64) at clojure.core$next__5386.invoke(core.clj:64) at schema.spec.collection$element_transformer$fn__2392.invoke(collection.clj:26) at schema.spec.collection.CollectionSpec$fn__2432.invoke(collection.clj:79) at clojure.core$comp$fn__5807.invoke(core.clj:2569) at puppetlabs.puppetserver.certificate_authority$fn__37322$get_certificate_statuses__37327.invoke(certificate_authority.clj:1380) at puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38853$fn__38856.invoke(certificate_authority_core.clj:306) at liberator.core$run_handler.invokeStatic(core.clj:176) at liberator.core$run_handler.invoke(core.clj:131) at liberator.core$handle_ok.invokeStatic(core.clj:224) at liberator.core$handle_ok.invoke(core.clj:224) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$multiple_representations_QMARK_.invokeStatic(core.clj:232) at liberator.core$multiple_representations_QMARK_.invoke(core.clj:232) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$put_to_existing_QMARK_.invokeStatic(core.clj:305) at liberator.core$put_to_existing_QMARK_.invoke(core.clj:305) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$post_to_existing_QMARK_.invokeStatic(core.clj:308) at liberator.core$post_to_existing_QMARK_.invoke(core.clj:308) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_patch_QMARK_.invokeStatic(core.clj:315) at liberator.core$method_patch_QMARK_.invoke(core.clj:315) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_delete_QMARK_.invokeStatic(core.clj:317) at liberator.core$method_delete_QMARK_.invoke(core.clj:317) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_modified_since_exists_QMARK_.invokeStatic(core.clj:337) at liberator.core$if_modified_since_exists_QMARK_.invoke(core.clj:337) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_none_match_exists_QMARK_.invokeStatic(core.clj:355) at liberator.core$if_none_match_exists_QMARK_.invoke(core.clj:355) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_unmodified_since_exists_QMARK_.invokeStatic(core.clj:375) at liberator.core$if_unmodified_since_exists_QMARK_.invoke(core.clj:375) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_match_exists_QMARK_.invokeStatic(core.clj:389) at liberator.core$if_match_exists_QMARK_.invoke(core.clj:389) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$exists_QMARK_.invokeStatic(core.clj:392) at liberator.core$exists_QMARK_.invoke(core.clj:392) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$processable_QMARK_.invokeStatic(core.clj:395) at liberator.core$processable_QMARK_.invoke(core.clj:395) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$encoding_available_QMARK_.invokeStatic(core.clj:399) at liberator.core$encoding_available_QMARK_.invoke(core.clj:399) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:416) at liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:416) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_charset_exists_QMARK_.invokeStatic(core.clj:429) at liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:429) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_language_exists_QMARK_.invokeStatic(core.clj:443) at liberator.core$accept_language_exists_QMARK_.invoke(core.clj:443) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$media_type_available_QMARK_.invokeStatic(core.clj:453) at liberator.core$media_type_available_QMARK_.invoke(core.clj:453) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_exists_QMARK_.invokeStatic(core.clj:456) at liberator.core$accept_exists_QMARK_.invoke(core.clj:456) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$is_options_QMARK_.invokeStatic(core.clj:473) at liberator.core$is_options_QMARK_.invoke(core.clj:473) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$valid_entity_length_QMARK_.invokeStatic(core.clj:476) at liberator.core$valid_entity_length_QMARK_.invoke(core.clj:476) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$known_content_type_QMARK_.invokeStatic(core.clj:479) at liberator.core$known_content_type_QMARK_.invoke(core.clj:479) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$valid_content_header_QMARK_.invokeStatic(core.clj:481) at liberator.core$valid_content_header_QMARK_.invoke(core.clj:481) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$allowed_QMARK_.invokeStatic(core.clj:484) at liberator.core$allowed_QMARK_.invoke(core.clj:484) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$authorized_QMARK_.invokeStatic(core.clj:487) at liberator.core$authorized_QMARK_.invoke(core.clj:487) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$malformed_QMARK_.invokeStatic(core.clj:490) at liberator.core$malformed_QMARK_.invoke(core.clj:490) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_allowed_QMARK_.invokeStatic(core.clj:493) at liberator.core$method_allowed_QMARK_.invoke(core.clj:493) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$uri_too_long_QMARK_.invokeStatic(core.clj:496) at liberator.core$uri_too_long_QMARK_.invoke(core.clj:496) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$known_method_QMARK_.invokeStatic(core.clj:499) at liberator.core$known_method_QMARK_.invoke(core.clj:499) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$service_available_QMARK_.invokeStatic(core.clj:502) at liberator.core$service_available_QMARK_.invoke(core.clj:502) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$initialize_context.invokeStatic(core.clj:504) at liberator.core$initialize_context.invoke(core.clj:504) at liberator.core$run_resource.invokeStatic(core.clj:595) at liberator.core$run_resource.invoke(core.clj:593) at puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38853.invoke(certificate_authority_core.clj:293) at compojure.response$fn__17209.invokeStatic(response.clj:33) at compojure.response$fn__17209.invoke(response.clj:21) at compojure.response$fn__17182$G__17177__17189.invoke(response.clj:6) at puppetlabs.services.ca.certificate_authority_core$fn__38865$web_routes__38870$fn__38871$fn__38874.invoke(certificate_authority_core.clj:316) at bidi.ring$fn__16996.invokeStatic(ring.cljc:25) at bidi.ring$fn__16996.invoke(ring.cljc:21) at bidi.ring$fn__16981$G__16976__16990.invoke(ring.cljc:16) at puppetlabs.comidi$make_handler$fn__18912.invoke(comidi.clj:245) at puppetlabs.trapperkeeper.authorization.ring_middleware$fn__25398$wrap_authorization_check__25403$fn__25404$fn__25405.invoke(ring_middleware.clj:290) at puppetlabs.ring_middleware.core$fn__22991$wrap_bad_request__23000$fn__23003$fn__23009.invoke(core.clj:170) at puppetlabs.puppetserver.ringutils$fn__35537$wrap_with_trapperkeeper_or_client_whitelist_authorization__35542$fn__35543$fn__35547.invoke(ringutils.clj:124) at puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357) at puppetlabs.ring_middleware.core$fn__23089$wrap_uncaught_errors__23098$fn__23101$fn__23106.invoke(core.clj:216) at puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__35526.invoke(ringutils.clj:83) at puppetlabs.ring_middleware.core$fn__22739$wrap_response_logging__22744$fn__22745$fn__22746.invoke(core.clj:53) at puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__28680.invoke(jetty9_core.clj:433) at puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102) at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__28259$normalize_uri_handler__28264$fn__28265$fn__28266.invoke(normalized_uri_helpers.clj:74) at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:753) at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56) at com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:505) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804) at java.lang.Thread.run(Thread.java:748)==> \n\n/var/log/puppetlabs/puppetserver/puppetserver-access.log <==10.156.0.4 - - [25/Jul/2019:09:30:26 +0000] \"GET /puppet-\nca/v1/certificate_statuses/any_key HTTP/1.1\" 500 77 \"-\" \"PuppetserverCaCli\" 24 - -\n{code}\n\u00a0edit:\n\nAfter cleaning up the requests directory, everything works like expected.\n\nBut it would very helpful to get a better error message / handling.\u00a0\n\n\u00a0", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15475", "fixedVersions": [], "id": "15475", "issueType": "Improvement", "key": "SERVER-2599", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243add27a3f9e006ab1849d", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca list --all results in status 500", "timeSpent": "PT0S", "updated": "2022-03-08T13:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c100c4a57610068e74585", "attachments": [], "comments": [{"author": "623c100c4a57610068e74585", "body": "https://github.com/puppetlabs/puppetserver/pull/2125 has been merged but this is still set to ACCEPTED. Setting to RESOLVED with the next .y version since I don't know what's normal and this looks like the best thing.", "created": "2020-03-14T15:42:00.000000"}], "components": [], "created": "2019-07-19T06:57:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@eaf780c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvt5z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_887670197_*|*_10007_*:*_1_*:*_12372177120_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3540_*|*_10005_*:*_1_*:*_7421197433"}], "description": "While Puppet::Server::HttpClient supports HTTP basic auth on POST, it doesn't on GET. This is unlike the Puppet::Network::HTTP::Connection implementation in Puppet Agent. This can give unexpected results when writing a Hiera lookup function.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15066", "fixedVersions": ["SERVER 6.y"], "id": "15066", "issueType": "Improvement", "key": "SERVER-2597", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Fixed", "resolutionDate": "2020-03-14T15:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet::Server::HttpClient doesn't support HTTP basic auth on GET", "timeSpent": "PT0S", "updated": "2020-03-14T15:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Huh, wonder if this works now.", "created": "2022-02-22T16:01:00.000000"}], "components": [], "created": "2019-07-18T09:17: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@4650d168"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:f"}], "description": "Currently, {{puppet module install}} and some other {{puppet module}} subcommands do not work in FIPS mode. So in order to start testing on FIPS platforms, we are skipping these tests. When {{puppet module}} has been fixed to work in FIPS mode, we need to re-enable these tests.\n\nPR disabling the tests: https://github.com/puppetlabs/puppetserver/pull/2122", "duedate": "2022-06-30T00:00:00.000000", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16043", "fixedVersions": [], "id": "16043", "issueType": "Task", "key": "SERVER-2596", "labels": ["low-hanging-fruit", "needs_repro"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Re-enable tests using `puppet module` in FIPS mode", "timeSpent": "PT0S", "updated": "2022-03-09T09:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-07-17T20:02:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@247dc4dd"}, {"fieldName": "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-9898"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvs6n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2404_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_764802948"}], "description": "(Initial planned release date: 2019-07-23)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-07-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "estimate": "PT0S", "externalId": "15472", "fixedVersions": [], "id": "15472", "issueType": "Task", "key": "SERVER-2595", "labels": [], "originalEstimate": "PT0S", "parent": "22194", "parentSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-07-26T16:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.5.0)", "timeSpent": "PT0S", "updated": "2019-07-26T16:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-07-17T20:02:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@24808f4b"}, {"fieldName": "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-9898"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvs67:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2399_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_764796794"}], "description": "(Initial planned release date: 2019-07-23)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-07-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "estimate": "PT0S", "externalId": "14813", "fixedVersions": [], "id": "14813", "issueType": "Task", "key": "SERVER-2594", "labels": [], "originalEstimate": "PT0S", "parent": "22194", "parentSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-07-26T16:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.5.0)", "timeSpent": "PT0S", "updated": "2019-07-26T16:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-07-17T20:02:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@85f74d5"}, {"fieldName": "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-9898"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvs5z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2297_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_764780115"}], "description": "(Initial planned release date: 2019-07-23)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-07-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "estimate": "PT0S", "externalId": "17561", "fixedVersions": [], "id": "17561", "issueType": "Task", "key": "SERVER-2593", "labels": [], "originalEstimate": "PT0S", "parent": "22194", "parentSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-07-26T16:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.5.0)", "timeSpent": "PT0S", "updated": "2019-07-26T16:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-07-17T20:01:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@621427fa"}, {"fieldName": "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-9898"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvs5r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2679_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_764479925"}], "description": "(Initial planned release date: 2019-07-23)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-07-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "estimate": "PT0S", "externalId": "17129", "fixedVersions": [], "id": "17129", "issueType": "Task", "key": "SERVER-2592", "labels": [], "originalEstimate": "PT0S", "parent": "22194", "parentSummary": "Puppet Platform 6.7.0 Release - 2019-07-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-07-26T16:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.5.0)", "timeSpent": "PT0S", "updated": "2019-07-26T16:23:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We do not currently return extension information via the {{certificate_status}} API, which is where {{list}} gets its info. So we'll need to add that before we can do this. https://puppet.atlassian.net/browse/SERVER-2718", "created": "2020-01-15T14:38:00.000000"}], "components": [], "created": "2019-07-16T14:41:00.000000", "creator": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2b36c645"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwlan:"}, {"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": "The `puppetserver ca list` command will now list any authorization extensions on a cert or CSR, in addition to its subject alt names."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_99943604_*|*_1_*:*_1_*:*_4391920477_*|*_10007_*:*_1_*:*_516495796_*|*_3_*:*_1_*:*_167044365_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5416870324_*|*_10005_*:*_1_*:*_12561991778"}], "description": "Right now `puppetserver ca list` will show the dns alt names in the certificate request so you can determine whether to sign based on the presence of the added SANs. A CSR may also have extension requests in it, which can also have security implications. The [ppAuthCert extensions|https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/oids.rb#L67] for example, specifically pp_auth_role, can be used to specify a compiler in lovejoy, and we'd like to be able to check whether or not a csr has extensions before signing it in PE automation tooling that signing certs, for example.\n\nSince use of pp_auth_role requires that allowed-authorized-extensions be set true in puppetserver's ca.conf, this would allow any cert with pp_auth_role set to be signed, and it would be important for the customer to see this information as well.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17560", "fixedVersions": ["SERVER 6.11.0"], "id": "17560", "issueType": "Improvement", "key": "SERVER-2591", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "resolution": "Done", "resolutionDate": "2020-04-09T14:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The puppetserver ca list should show extensions alongside SANs", "timeSpent": "PT0S", "updated": "2020-04-09T14:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey Jean, here's the ticket for \"maint\" work that warrants docs.", "created": "2019-07-10T16:34:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "Cool, thank you!\n", "created": "2019-07-10T16:48:00.000000"}], "components": [], "created": "2019-07-10T16:32: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@5ab3b940"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmzb:"}, {"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": "The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of puppetserver gem, puppetserver irb, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n\nIt should be easier to build puppetserver outside our network now (not 100% easy but slightly improved)\n\nWe used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_83556_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_495558872"}], "description": "There were several notable items that went into Puppet Server as maint work in the lead up to the July 2019 releases. This is a tracking ticket to get them into docs' backlog.\n\nThey are:\n\n* The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of puppetserver gem, puppetserver irb, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n\n^ this is the main thing\n\nBut also two minor fixups:\n\n* It should be easier to build puppetserver outside our network now (not 100% easy but slightly improved)\n* We used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17559", "fixedVersions": ["SERVER 5.3.9", "SERVER 6.0.5", "SERVER 6.3.1", "SERVER 6.5.0"], "id": "17559", "issueType": "Task", "key": "SERVER-2590", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2019-07-16T10:13:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tracking ticket for maint release notes in July 2019", "timeSpent": "PT0S", "updated": "2019-07-16T10:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:97578a32-3955-4c5c-939e-58a878437b49", "attachments": [], "comments": [{"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Adding a PR at\u00a0[https://github.com/puppetlabs/puppetserver-ca-cli/pull/53]", "created": "2019-07-10T16:08:00.000000"}], "components": [], "created": "2019-07-10T16:05:00.000000", "creator": "557058:97578a32-3955-4c5c-939e-58a878437b49", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c34fde2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmy7:"}, {"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": "You can now specify a `--certname` flag with the `puppetserver ca list` command, which will limit the output to information about the requested cert, and log an error if the requested cert does not exist in any form."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_530089239_*|*_1_*:*_1_*:*_433235286_*|*_10007_*:*_1_*:*_61677821_*|*_5_*:*_1_*:*_0"}], "description": "The old {{puppet cert list}} command has been deprecated by {{puppetserver ca list}}.\n\nPreviously using {{puppet cert list}}, it was possible to query for, or list, a specified set of certificates. This functionality should be added to {{puppetserver ca list}} as well.\n\nSuggested implementation:\n\n{code}\npuppetserver ca list --certname NAME[,NAME]\n{code}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16041", "fixedVersions": ["SERVER 5.3.10", "SERVER 6.0.6", "SERVER 6.3.2", "SERVER 6.5.0"], "id": "16041", "issueType": "Improvement", "key": "SERVER-2589", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:97578a32-3955-4c5c-939e-58a878437b49", "resolution": "Done", "resolutionDate": "2019-07-22T12:49:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Support listing specific certificates via the CLI", "timeSpent": "PT0S", "updated": "2019-07-22T14:02:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Confirmed tag was merged up w/ applicable commits.\n\nDeleted release branch\n\nOpened PR to teardown release pipeline\n\n\u00a0\n\nWill keep this ticket open until after the retro to ensure any additional work for Winston is done.", "created": "2019-07-15T14:28:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No actions for this from the retro.", "created": "2019-07-24T11:00:00.000000"}], "components": [], "created": "2019-07-10T07:15:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63c3f869"}, {"fieldName": "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-9765"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmh3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7228_*|*_10007_*:*_1_*:*_3870590_*|*_3_*:*_1_*:*_555716_*|*_10009_*:*_1_*:*_761279399_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_457406595"}], "description": "(Initial planned release date: 2019-07-16)\n * Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n * Delete release branch if created.\n * Remove Jenkins pipelines for release branch if created.\n * Update Winston and any relevant Confluence pages with any changes needed in the release process.", "duedate": "2019-07-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "17558", "fixedVersions": [], "id": "17558", "issueType": "Task", "key": "SERVER-2588", "labels": [], "originalEstimate": "PT0S", "parent": "27468", "parentSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-24T11:00:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.0.5)", "timeSpent": "PT0S", "updated": "2019-07-24T11:00:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The agent release pipeline for some reason didn't trigger a server build when it was tagged. Consequently, I did a manual merge of the agent tag into our release branch and triggered the CI run. Once that clears CI I'll do our tag, sometime before Romania's Monday. (The diff between the sha we tested and the one I promoted was almost non-existent, I just want to see this t crossed correctly)", "created": "2019-07-12T16:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The build with the agent tag successfully passed our FOSS pipeline (and the same server code had previously had passed PE integration).\n\n[https://github.com/puppetlabs/puppetserver/commits/6.0.5]\n\n[http://builds.delivery.puppetlabs.net/puppetserver/6.0.5/]", "created": "2019-07-14T14:20:00.000000"}], "components": [], "created": "2019-07-10T07:11:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38eae71b"}, {"fieldName": "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-9765"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmgv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_32966_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_371305544"}], "description": "(Initial planned release date: 2019-07-16)\n * Ensure the candidate SHA has passed all applicable testing\n * The candidate SHA that the release branch was branched from should pass CI,\n be promoted into PE if applicable, and if so, pass PE's CI. If there are\n failures resolve them or escalate to someone who can.\n * Run the release pipeline for the release or maintenance branch being released\n from. This pipeline currently starts with\n \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n build, stage and promote into PE.\n * Verify tagged release version is built, tested and artifacts exist at\n builds.delivery.puppetlabs.net.\n NOTE - Docker pipelines will fail between when a tag is pushed and\n that tag becomes publicly available for download!!", "duedate": "2019-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "17127", "fixedVersions": [], "id": "17127", "issueType": "Task", "key": "SERVER-2587", "labels": [], "originalEstimate": "PT0S", "parent": "27468", "parentSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-14T14:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.0.5)", "timeSpent": "PT0S", "updated": "2019-07-14T14:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Merged up from 6.0.x into 6.3.x, created 6.0.5-release branch on server and have created the 6.0.5-release pipelines in CI.", "created": "2019-07-10T12:13:00.000000"}], "components": [], "created": "2019-07-10T07:05:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1272087e"}, {"fieldName": "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-9765"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmgn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_60246_*|*_10007_*:*_1_*:*_81848_*|*_3_*:*_1_*:*_886325_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_17570826"}], "description": "(Initial planned release date: 2019-07-16)\n * Merge up and/or down as required.\n * Outstanding changes from z branches should be be merged up to master.\n Outstanding changes from \"older\" branches should be merged up through\n the branch to be released (2.x -> 5.1.x if applicable). Any changes\n that have been resolved in \"newer\" branches but need to be pulled down\n to the release branch should be cherry-picked (eg backports to an LTS\n branch).\n * Create release branch as needed.\n * If there is continuing work landing on the version series branch\n (5.1.x) while the release prep will be happening then create a\n release branch (5.1.3-release) so a branch may sit at a good known\n version (candidate SHA) while all of the remaining validation can be\n performed (eg promoted into PE and manually tested).\n * Create Jenkins pipeline for release branch/update promotions as needed\n * Update ci-job-configs so that the branch to be released off of has a\n Jenkins pipeline and is being promoted into applicable PE streams. This\n work may not be applicable if no release branch was created, the release\n will not go into a PE stream, or this work has already been done as part\n of normal maintenance.\n * Promote release candidate if needed.\n * Older branches may not have the ability to automatically promote into PE\n (2.x). If releasing off of one of these branches, create a VOOM build\n and manually promote it into PE.", "duedate": "2019-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "16930", "fixedVersions": [], "id": "16930", "issueType": "Task", "key": "SERVER-2586", "labels": [], "originalEstimate": "PT0S", "parent": "27468", "parentSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-10T12:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.0.5)", "timeSpent": "PT0S", "updated": "2019-07-10T12:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{code}\n10:23:28 sellout:puppetserver justin (6.0.x<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 6.0.4\nEnter Git To Rev: |master| 6.0.x\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER 6.0.x| SERVER 6.0.5\n(Optional) Enter JIRA team name:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100  1297    0  1128  100   169   4123    617 --:--:-- --:--:-- --:--:--  4131\n** DOC-4135\n    344bbcb  Update broken link\n** DOCS\n    16f3bc6  Add release notes for 6.0.4 release\n    1418329  Add Puppet Server 5.3.8 release notes\n** DOCUMENT-852\n    0ff9791  Clarify which puppet.conf sections puppetserver uses\n** MAINT\n    829dae1  update puppet submodule version and agent pin\n    d4e8530  update puppet submodule version and agent pin\n    f2c99ce  Extend server settings in puppet.conf to compat tests\n    e049ace  Don't override leiningen's default repositories by default\n    b7f7370  update puppet submodule version and agent pin\n    ec419cc  update puppet submodule version and agent pin\n    9a25e25  Extend `server` config changes to upgrades\n    1af0011  update puppet submodule version and agent pin\n    ca98c1b  update puppet submodule version and agent pin\n    2f3208c  update puppet submodule version and agent pin\n    0471273  update puppet submodule version and agent pin\n    ecbc6f9  Bump EZBake to 2.0.4 for egd source change\n    46f5e21  Remove usages of --server from acceptance suite\n    254c8e5  Improve x509 auth test\n    0b26a86  Update puppet.conf to specify server on all nodes\n    9d24290  Use protocol in egd java parameter\n    03c8e1c  update puppet submodule version and agent pin\n    a116ede  Specify `server` setting puppet.conf\n    959dc83  update puppet submodule version and agent pin\n    9b71b49  update puppet submodule version and agent pin\n    d9d7499  update puppet submodule version and agent pin\n    7ee8e81  update puppet submodule version and agent pin\n    a5fc893  update puppet submodule version and agent pin\n    0995838  update puppet submodule version and agent pin\n    f0dde38  Drop Java 10 testing\n    f811f83  Use xenial on travis\n    156ccda  update puppet submodule version and agent pin                                                                                                                           [68/9943]\n    283e798  update puppet submodule version and agent pin\n    a22cb0c  update puppet submodule version and agent pin\n    0b1315b  update puppet submodule version and agent pin\n    a039b65  update puppet submodule version and agent pin\n    8e6ab52  update puppet submodule version and agent pin\n    dea2ba4  update puppet submodule version and agent pin\n    8fce3bc  Only run docker travis tests on master\n    43d1743  update puppet submodule version and agent pin\n    82088ce  update puppet submodule version and agent pin\n    290846f  update puppet submodule version and agent pin\n    ea20ee7  update puppet submodule version and agent pin\n    e00efb5  update puppet submodule version and agent pin\n    83a4c1d  update puppet submodule version and agent pin\n    400e2e7  Inline PC1 repo installation\n    68b1905  update puppet submodule version and agent pin\n    0390417  update puppet submodule version and agent pin\n    cbe5616  update puppet submodule version and agent pin\n    460c84c  update puppet submodule version and agent pin\n    93ede1a  fixup puppet.conf section preference doc\n    89a6811  update puppet submodule version and agent pin\n    40748ac  update puppet submodule version and agent pin\n    732b48d  update puppet submodule version and agent pin\n    8609672  update puppet submodule version and agent pin\n    7a2c653  update puppet submodule version and agent pin\n    15bbe68  update puppet submodule version and agent pin\n    3310869  update puppet submodule version and agent pin\n    05d094b  update puppet submodule version and agent pin\n    fb9b97e  Update travis to use xenial image\n    a7269d6  update puppet submodule version and agent pin\n    ac6f52c  update puppet submodule version and agent pin\n    f532c7b  update puppet submodule version and agent pin\n    0d0e9cb  update puppet submodule version and agent pin\n    6eacaa6  update puppet submodule version and agent pin\n    2386170  update puppet submodule version and agent pin\n    b73c213  update puppet submodule version and agent pin\n    5e603e4  update puppet submodule version and agent pin\n    2d2a793  update puppet submodule version and agent pin\n    8bf2be6  update puppet submodule version and agent pin\n    102b62c  update puppet submodule version and agent pin\n    0193551  update puppet submodule version and agent pin\n    305a3d9  update puppet submodule version and agent pin\n    0c0ab45  Puppetserver shouldn't include facter 2\n    13e0ab6  update puppet submodule version and agent pin                                                                                                                           [25/9943]\n    887624f  update puppet submodule version and agent pin\n    a507d7c  update puppet submodule version and agent pin\n    15ae74d  update puppet submodule version and agent pin\n    bc0ab35  update puppet submodule version and agent pin\n    0fb8439  update puppet submodule version and agent pin\n    d521fa1  update puppet submodule version and agent pin\n    3f63949  update puppet submodule version and agent pin\n    ee15f0c  update puppet submodule version and agent pin\n    33716de  update puppet submodule version and agent pin\n    cb4932e  update puppet submodule version and agent pin\n    ea5fd69  update puppet submodule version and agent pin\n    c2ab11b  update puppet submodule version and agent pin\n    5348091  update puppet submodule version and agent pin\n    6b50f74  update puppet submodule version and agent pin\n    1de840a  update puppet submodule version and agent pin\n    42a7f40  Do not run code_commands test on Debian\n    e09bb74  update puppet submodule version and agent pin\n    1f4224f  update puppet submodule version and agent pin\n    6359a4b  update puppet submodule version and agent pin\n    84746d1  update puppet submodule version and agent pin\n    8d03ce5  Update supported PDB systems\n    116a844  Use artifactory now that Debian has died\n    edb9ec8  update puppet submodule version and agent pin\n    32823d2  update puppet submodule version and agent pin\n    b3d97af  update puppet submodule version and agent pin\n    d23855d  update puppet submodule version and agent pin\n    5c982fa  update puppet submodule version and agent pin\n    ed83a2e  update puppet submodule version and agent pin\n    73fcc3c  update puppet submodule version and agent pin\n    d4bf910  Use publicly available version of rbac-client\n    e2a80d6  Update to rspec 3 style\n    e7be59d  update puppet submodule version and agent pin\n    b7cfb67  Disable Azure Docker builds on 6.x branch\n    bfca102  update puppet submodule version and agent pin\n    72d7309  update puppet submodule version and agent pin\n    142b241  update puppet submodule version and agent pin\n    5d0ac82  update puppet submodule version and agent pin\n    fc2bf10  update puppet submodule version and agent pin\n    10d70ab  update puppet submodule version and agent pin\n    b4ea7b8  update puppet submodule version and agent pin\n    fc118a5  Don't use python in test\n    e083e6d  Use rspec expectations instead of mocha\n    3575f13  update puppet submodule version and agent pin\n    a15c1c3  update puppet submodule version and agent pin\n** RE-12490\n    0429303  sed zypper list when installing puppet-agent 1.x\n** REVERT\n    7fbe808  Revert \"(maint) Don't override leiningen's default repositories by default\"\n** SERVER-1914\n    4966b77  Update clj-parent to version with FIPS bouncy-castle\n-- SERVER-2465 (Ready for CI)\n    e994b8c  Allow ca certs and crl bundles to be in any order\n** UNMARKED\n    2a7c26f  Update configuration.markdown\n    1a1aab9  Update compatibility_with_puppet_agent.markdown\n    c4132c4  Update restarting.markdown\n    1181703  DOC-3964 Add note re. `systemctl restart puppet`\n    806c6c1  Version 6.0.5-SNAPSHOT\n    2f87636  Version 5.3.9-SNAPSHOT\n    17972ce  Version 5.3.8\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.0.5)\nDOC-4135\nDOCUMENT-852\nRE-12490\nREVERT 7fbe808\nSERVER-1914\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nUNRESOLVED ISSUES FOUND IN GIT\nSERVER-2465     Ready for CI           (Server)\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n\nAnd to summarize/double check the above:\n* All the maint work from 5.3.x (SERVER-2566), the notable work being:\n** It should be easier to build puppetserver outside our network now (though still no guarantees)\n** We used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)\n** The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of puppetserver gem, puppetserver irb, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n* Some additional DOCS/RE/maint work that doesn't line up with releases cleanly\n* SERVER-1914 - pre-work for FIPS enablement and should have no bearing on the release\n* SERVER-2465 - an improvement to allow users to order the CA/CRL chains in any order and autodetect which cert/crl we update when acting as a CA. It is currently in an \"integrating\" state because it's failed PE promotions from of a dependency conflict (non-code issue). It has passed all applicable FOSS testing however and PE problems are expected to be resolved in the next day or so.\n\n", "created": "2019-07-10T11:38:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Agent side:\n{code}\n10:46:00 sellout:puppet justin (6.0.x $%<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 6.0.9\nEnter Git To Rev: |master| 6.0.x\nEnter JIRA project: |PUP| PUP\nEnter JIRA fix version: |PUP 6.0.x| PUP 6.0.10\n(Optional) Enter JIRA team name: Server\n\n...snip...\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF PUP 6.0.10 AND A TEAM OF Server)\nPUP-1082\nPUP-3905\nPUP-4930\nPUP-6488\nPUP-8664\nPUP-9495\nPUP-9564\nPUP-9587\nPUP-9639\nPUP-9642\nPUP-9649\nPUP-9688\nPUP-9689\nPUP-9691\nPUP-9697\nPUP-9698\nPUP-9706\nPUP-9724\nPUP-9746\nPUP-9790\nPUP-9794\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n\nNothing actually pertinent, though it does list a lot of \"Puppet Romania\" tickets (as with the 5.5.x release).", "created": "2019-07-10T11:48:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've updated SERVER-1914 to SERVER 6.y since we haven't hammered which y version any FOSS side FIPS enablement will ship in.\n\nI think we're calling SERVER-2465 done on the FOSS side for now. The ticket should be closed once it's enabled in PE today or tomorrow.\n\nCI is green for the applicable jobs save for a single confirmed infrastructure transient.\n\nDouble checked Confluence versions page and it's up to date.", "created": "2019-07-10T11:52:00.000000"}], "components": [], "created": "2019-07-10T07:00:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@83b37c8"}, {"fieldName": "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-9765"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvmgf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_320856_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_17220526"}], "description": "(Initial planned release date: 2019-07-16)\n * Use the ticketmatch script at [https://github.com/puppetlabs/ticketmatch]\n to reconcile JIRA ticket states with commit messages since the last release.\n (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n Follow up with any reported problematic areas:\n * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n not targeted for the current release.\n * Issues in JIRA but not in git need to be retargeted for the appropriate\n release and stakeholders should be notified.\n * Once the scope of the release as been confirmed and the correct SemVer\n version known ensure the Versions and Dependencies page in Confluence\n is up to date [https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies]", "duedate": "2019-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "16579", "fixedVersions": [], "id": "16579", "issueType": "Task", "key": "SERVER-2585", "labels": [], "originalEstimate": "PT0S", "parent": "27468", "parentSummary": "Puppet Platform 6.0.10 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-10T11:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.0.5)", "timeSpent": "PT0S", "updated": "2019-07-10T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-07-09T15: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@1385963c"}, {"fieldName": "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": "SERVER-2538"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke33:"}, {"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_*:*_342121398_*|*_1_*:*_1_*:*_13124_*|*_3_*:*_1_*:*_606101588_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2598631196"}], "description": "We need a setting to enable collection of key lookups during catalog compilation, assuming it is feasible to collect them on each and every compilation.\n\nIf this proves unfeasible, this ticket will most likely be replaced with a different way of triggering that collection.\n\nnote: this should probably be plumbed through the pe module to some degree ([~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] to file a separate ticket)", "epicLinkSummary": "Track Hiera lookups during compile", "estimate": "PT0S", "externalId": "17557", "fixedVersions": ["SERVER 6.6.0"], "id": "17557", "issueType": "Task", "key": "SERVER-2584", "labels": [], "originalEstimate": "PT0S", "parent": "17119", "parentSummary": "Track Hiera lookups during compile", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-08-19T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add setting to toggle lookup key recording", "timeSpent": "PT0S", "updated": "2019-08-19T16:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-07-09T15:08: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@11b65dca"}, {"fieldName": "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-10012"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwklj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_250395_*|*_3_*:*_2_*:*_1731019607_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_4_*:*_7350911153_*|*_10005_*:*_3_*:*_74978801007"}], "description": "As part of collecting hiera keys for impact analysis, we should also collect some metrics about these lookups, for example\n* the total number of lookups during a given compile\n* the total number of distinct keys looked up\n\nThis could be reported as a histogram.\n\nWe need to decide whether to implement this the way current metrics are implemented, with a Java object and Ruby wrapper that gets injected, vs. having a Ruby implementation that Puppetserver queries.", "epicLinkSummary": "Impact Analysis: Functions and Templates", "estimate": "PT0S", "externalId": "16929", "fixedVersions": ["SERVER 6.y"], "id": "16929", "issueType": "Task", "key": "SERVER-2583", "labels": [], "originalEstimate": "PT0S", "parent": "29618", "parentSummary": "Impact Analysis: Functions and Templates", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Collect analytics on Hiera lookups", "timeSpent": "PT0S", "updated": "2022-03-08T12:25:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Depending on the data collection strategy we use (see SERVER-2582), the compile may result in a catalog that will never be applied to a node. In that case, does it make sense to still store the catalog in PDB too? Not sure what the semantics are here. /cc [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]", "created": "2019-07-08T17:05:00.000000"}, {"author": "70121:4c2994e4-73a9-4e99-971a-6d93d39be223", "body": "I *think* we've changed our plans in a way that may obviate the question?  i.e. we're now working on adding a separate submit_catalog_inputs command (or the like) which will probably look something like {\"producer_timestamp\": ... catalog_uuid: ... \"inputs\": [...]}.", "created": "2019-07-11T16:33:00.000000"}], "components": [], "created": "2019-07-08T16:57: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@2e0e7509"}, {"fieldName": "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": "SERVER-2538"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke2n:"}, {"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/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_342253950_*|*_1_*:*_1_*:*_80151899_*|*_3_*:*_1_*:*_605995559_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2599050717"}], "description": "Once a compile has collected the Hiera keys that were looked up to produce the catalog, those keys need to be sent to PuppetDB along with the catalog. PuppetDB is updating its catalog submission protocol to allow the optional submission of this data, see PDB-4369.", "epicLinkSummary": "Track Hiera lookups during compile", "estimate": "PT0S", "externalId": "16928", "fixedVersions": ["SERVER 6.6.0"], "id": "16928", "issueType": "Task", "key": "SERVER-2581", "labels": [], "originalEstimate": "PT0S", "parent": "17119", "parentSummary": "Track Hiera lookups during compile", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-08-19T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Send Hiera keys to PuppetDB along with compiled catalog", "timeSpent": "PT0S", "updated": "2019-08-19T16:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2019-07-08T16:52: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@43146488"}, {"fieldName": "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": "SERVER-2538"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke2f:"}, {"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": "See epic release notes."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_80452539_*|*_3_*:*_1_*:*_3377252971_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_170428287"}], "description": "PUP-9699 created an API in Puppet for injecting a recorder that is invoked when a Hiera key is looked up during compile. We need to implement one of these recorders that can keep track of which keys have been looked up, so that at the end of compilation, that list can be sent to PuppetDB.\n\n* Make sure that the recorder is reset properly for each compile (v3 and v4)", "epicLinkSummary": "Track Hiera lookups during compile", "estimate": "PT0S", "externalId": "16039", "fixedVersions": ["SERVER 6.6.0"], "id": "16039", "issueType": "Task", "key": "SERVER-2580", "labels": [], "originalEstimate": "PT0S", "parent": "17119", "parentSummary": "Track Hiera lookups during compile", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-08-19T16:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add Hiera data recorder for impact analysis data gathering", "timeSpent": "PT0S", "updated": "2019-09-12T09:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6710b319-779a-49c9-b66f-f584a24dab53", "body": "My vote is approach #3 and we have Code Manager set a flag for nodes that need a new baseline. As long as code deployments can take place outside of CD for PE, we shouldn't rely on an integration with CD for PE to know when to compile a new baseline.", "created": "2019-07-08T19:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Okay, yeah, if CD4PE is still using Code Manager behind the scenes, we can look into that. I see two approaches there:\n\n1) Have code manager trigger the new collection runs directly using the v4 catalog endpoint, passing a special param. If we're not going to leverage IA however, to only target the affected nodes, this means we'd probably have to run on all nodes (or at least all nodes in an environment), and which may or may not be feasible performance-wise.\n\n2) Keep track of which nodes have checked in after any given code deploy and make sure each one collects new data when it checks in. We'd have to figure out where to store this state, and this might result in some false negatives for IA, because some nodes might not check in before the next code change is submitted, and some keys added in the last deploy might not show up.\n\nThere might be ways to improve either of these. I'd love to hear other thoughts. We'll discuss it in our team meeting on this project today.", "created": "2019-07-09T09:29:00.000000"}, {"author": "557058:6710b319-779a-49c9-b66f-f584a24dab53", "body": "Approach #2 seems the most efficient. but I'm sensitive to false negatives. That could be dangerous. But compiling a new catalog for every node in an environment on every code deploy seems bonkers too.\n\nIt occurs to me that we could use Impact Analysis to solve this problem. We could use IA to know which nodes are affected by the new code deployment and compile fresh catalogs w/ collection mode on for just those nodes (and any new nodes that don't have an existing baseline). It would only increase efficiency on nodes that have an existing baseline. New catalogs would need to be compiled for new nodes that haven't done any data collection.\n\nAnother option is to do approach #2 and keep tabs of nodes that haven't checked in yet. Then return those nodes when Impact Analysis requests which nodes might be affected by a file change. Essentially, return a false positive so we don't have false negatives.", "created": "2019-07-09T11:01:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "I think it's worth validating that this is actually expensive and needs optimization.", "created": "2019-07-09T14:24:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "If it is not expensive for us to collect, we should make sure that there isn't a bottleneck in PDB storing this data repeatedly. /cc [~accountid:70121:4c2994e4-73a9-4e99-971a-6d93d39be223]", "created": "2019-07-09T14:53:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I filed SERVER-2582 to track the work of adding a setting to turn this on, that CD4PE can toggle when it gets installed, if it proves feasible to just do the collection all the time.", "created": "2019-07-09T15:23:00.000000"}, {"author": "70121:4c2994e4-73a9-4e99-971a-6d93d39be223", "body": "Our very first pass of the storage implementation may or may not be dumb, but assuming that most of the inputs won't change most of the time, we're already contemplating computing diffs to decrease the write load.  That will increase our read load a bit, but writes are typically much more expensive.\n\nWhether or not the cost is \"too high\" is something we should definitely test to the extent that we can come up with a reasonable arrangement and load (simulated or real).\n", "created": "2019-07-11T16:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The collection as we've implemented in the server is very lightweight, so currently we just allow it to be turned off or on. It should be enabled alongside CD4PE. Regular perf testing should reveal if we need to do anything else. Closing this, we can file a more specific ticket if problems arise.", "created": "2019-08-15T17:30:00.000000"}], "components": [], "created": "2019-07-08T16:46: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@40d1cfc6"}, {"fieldName": "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": "SERVER-2538"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke2v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_80806030_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3205097042"}], "description": "In order for Impact Analysis to work with Hiera data, PDB is going to store the list of Hiera keys looked up while compiling that node's catalog. We don't want to do this collection every time, because it is more expensive and unlikely to be changing much most of the time.\n\nWe need to decide on a strategy for refreshing the collected data. Some ideas include:\n 1) On an interval. We would need to determine the frequency.\n 2) Based on heuristics (e.g. if the node has no data yet, facts have changed, or the code version has changed). We would need to determine what markers to watch.\n 3) On a change to the code for a node. We would need to integrate with CD4PE and have it trigger a collection compile on the affected node when it deploys code.\n\n\u00a0\n\nnote: this may not be required if we can just do this all the time and not affect performance.", "epicLinkSummary": "Track Hiera lookups during compile", "estimate": "PT0S", "externalId": "14812", "fixedVersions": [], "id": "14812", "issueType": "Task", "key": "SERVER-2582", "labels": [], "originalEstimate": "PT0S", "parent": "17119", "parentSummary": "Track Hiera lookups during compile", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2019-08-15T17:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Choose a strategy for re-collecting Hiera keys used during a compile", "timeSpent": "PT0S", "updated": "2019-08-15T17:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-07-08T10: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@73f721aa"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:6"}], "description": "The Puppet repo allows you to trigger beaker tests on various platforms with a comment on a PR. Under the hood, this triggers a Jenkins pipeline and surfaces the result to PR validation section (similar to Travis). \n\nWe should look into enabling something like this on the puppetserver repo as well, with possibly the option to run either the smoke suite (the tests that live in puppetserver) and the full suite (the tests that live in the puppet repo). Not sure if we need to go through Jenkins or if it would be possible to do directly in GitHub CI integrations.", "duedate": "2022-06-30T00:00:00.000000", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15470", "fixedVersions": [], "id": "15470", "issueType": "Task", "key": "SERVER-2579", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable running beaker tests from a PR", "timeSpent": "PT0S", "updated": "2022-03-09T08:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "how does this not impact everything in jruby with a http(s) connection?", "created": "2019-07-10T16:02:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It doesn't affect normal server communications or things that will use Puppet's http client within the server because we already plumb that through with our own Java implementation which uses bouncycastle. This will effect nearly every third party gem that makes http(s) connections though (report processors and hiera backends).", "created": "2019-07-10T16:10:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "ok. does that mean we'll require changes to report processors, hiera backends (our own and otherwise), etc, just like it does here to `puppetserver gem`?", "created": "2019-07-10T16:18:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah, I would assume most custom report processors and hiera backends will have to change to work in FIPS.\nThe options for those users will be:\n# rewrite their code to use Puppet's http client\n# rewrite their code to use the Java Crypto Architecture\n# us re-write JRuby's OpenSSL implementation (I think this is prohibitively expensive)\n\nI think option one will be the least work for users and we may need to help the community with that work.\n\nThere's another option for {{puppetserver gem}} which is to use MRI's gem command but have it configured to install into JRuby's gempath, which is probably the easiest thing to do there.", "created": "2019-07-10T16:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I did a little investigation of this in my down time and I was able to monkey patch MRI's gem to think it was installing/running on JRuby, which allowed installing java versions of gems into JRuby's gempath. However, I wouldn't consider monkey patch rubygems internal state as I do here maintainable, and there are some unsightly warnings that are issued because I must mix mri & jruby gempaths to ensure all of the needed gems are available for rubygems itself to function.\n\n(the did_you_mean gem is included in the base installation, which jruby includes in its jar, which mri ruby can't read from, when adding mri's default gems we then see warnings for native gems whose extensions are no longer on the rest of the gempath).\n\nThat hack is here: https://github.com/puppetlabs/pe-puppet-server-extensions/compare/master...justinstoller:gemhack\n\nIt's possible that we could clean this up (prevent the warning from going to stderr) and ship a \"fips_gem_install\" script and point users to use that script/wrap it in a puppetserver_gem_fips provider, maybe? Those aren't \"good\" options, I'm just not seeing any better ones right now.\n\nI was unable to assess how much actual work would be required to fixup JRuby's OpenSSL implementation because of a lot of custom tooling around their build process.", "created": "2019-10-31T12:09:00.000000"}], "components": [], "created": "2019-07-01T09:40: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@171d8ba0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1jj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_714935674_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3632715913_*|*_10005_*:*_2_*:*_80423573834"}], "description": "JRuby's Openssl implementation is not FIPS compliant and it looks as if they have no intention to support it. Users that have JRuby extensions will need to write java wrappers that leverage JCA/JCE however third party libraries will probably just not work. One of those is rubygems, which renders the {{puppetserver gem}} command useless. We need to find a work around for our users, most likely by doubling down on recent changes to the {{puppetserver_gem}} provider that uses the agents {{gem}} command configured to the puppetserver's gem path. We should also survey how extensive not being able to use Openssl in JRuby will be to FIPS users.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16578", "fixedVersions": [], "id": "16578", "issueType": "Task", "key": "SERVER-2578", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create alternative for `puppetserver gem` in fips environment", "timeSpent": "PT0S", "updated": "2022-03-08T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "The file needs to be in {{/etc/puppetlabs/code/modules/abc/files/test.txt}}. For issues like this please join #puppet in {{https://slack.puppet.com}}", "created": "2019-06-25T10:44:00.000000"}], "components": ["Puppet Server"], "created": "2019-06-25T04:39:00.000000", "creator": "623c0c731c7f6a007049e59b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@759303c7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzvc1j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21945524_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:4.6.2*\n *Puppet Server Version:6.5*\n *OS Name/Version:centos 7*\n\nI have a question to say.\nI will copy puppetserver file to puppet agent.\nThis file is at /etc/puppetlabs/code/modules//files/abc/test.txt\nabc is myown folder(myfolder).\nwhen I execute \"puppet agent -t \"at puppet agent ,and wrong with the message below.\nCould not evaluate: Could not retrieve information from environment production source(s) puppet:///modules/mymodule/abc/test1.txt\n\n*Desired Behavior:can get test1.txt at agent server*\n\n*Actual Behavior:error*\n\nPlease take a moment and attach any relevant log output and/or manifests. This will help us immensely when troubleshooting the issue.\n\nExamples:\n Run puppet agent with --test --trace --debug\n\nRelevant sections of {{/var/log/puppetlabs/puppetserver/puppetserver.log}} or any applicable logs from the same directory.\n\nFor more detailed information turn up the server logs by upping the log level in the server's logback.xml\n\nRelevant sections of configurations files (puppet.conf, hiera.conf, Server's conf.d, defaults/sysconfig)\n\nFor memory issues with server heap dumps are also helpful.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17556", "fixedVersions": [], "id": "17556", "issueType": "Story", "key": "SERVER-2577", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0c731c7f6a007049e59b", "resolution": "Incomplete", "resolutionDate": "2019-06-25T10:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "cannot  get file from master when the file is in mymoudle/myfolder/test.txt", "timeSpent": "PT0S", "updated": "2019-06-25T10:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The version of jetty with the API backwards compatibility updates has been released as 3.0.1, but it failed a couple tests when integrated with puppetserver.", "created": "2019-07-11T17:15:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "check to make sure we're not specifying this as a dep anywhere in server/etc, to ensure we don't have to bump the version", "created": "2019-07-18T17:09:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "pe-puppet-server-extensions and pe-puppetserver do not explicitly specify a version for this dependency. I know we were deliberately waiting to update this in clj-parent because of the cipher changes. Do we need to pin the versions in those projects to overwrite the older version that clj-parent brings in?", "created": "2019-07-22T11:38:00.000000"}], "components": [], "created": "2019-06-20T17:06: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@7c541e0b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke1z:"}, {"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": "We have upgraded to the latest release of Jetty's 9.4 series. In this update Jetty warns about several ciphers that previously defaulted to being enabled as being \"weak\".\n\nIn our upstream projects we've defaulted to using only FIPS compliant cipher suites that are not considered weak. In Puppet Server 7, these we be the default. However to maintain backwards compatibility we've explicitly enabled all of the cipher suites that were available starting in Puppet Server 6.0. This however impacts users upgrading to Puppet Server 6.5.0 in two ways. 1) there will be updates coming from the package to the `webserver.conf` file in Puppet Server's conf.d directory, 2) when Puppet Server starts or reloads Jetty will warn about weak cipher suites being enabled.\n\nAgain, these weak ciphers are the same ciphers that were enabled by default in the previous version of Puppet Server, and we've only enabled them to aid in the upgrade process. We strongly encourage all users to upgrade and then remove the cipher-suite configuration section from the webserver.conf, which will then use only the strong FIPS compliant cipher suites*.\n\nAdditionally, Jetty removed the upstream complement to our so-linger-seconds configuration setting. The setting will be ignored and a warning will be issued if it is set. See https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/blob/3.0.1/doc/jetty-config.md#so-linger-seconds for more information.\n\n*On some older Operating Systems you may see additional warning that newer cipher suites are unavailable, in this case you should manage the contents of the webserver.cipher-suites configuration value to be those strong suites that available to you."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_412695863_*|*_1_*:*_1_*:*_37621_*|*_3_*:*_1_*:*_1814909989_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_604388020"}], "description": "We bumped the jetty version in tk-jetty9, and it broke some APIs that are used by puppetserver. We need to release tk-jetty9 and then do the work to update the way we're interacting with it in puppetserver.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16081", "fixedVersions": ["SERVER 6.5.0"], "id": "16081", "issueType": "Task", "key": "SERVER-2576", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-07-23T11:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Release and integrate tk-jetty9 3.0.0", "timeSpent": "PT0S", "updated": "2019-09-06T14:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-06-19T12:00: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@3a1c5a50"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1lr:"}, {"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_*:*_255711203_*|*_1_*:*_1_*:*_693186_*|*_3_*:*_1_*:*_1652445494_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_96803088"}], "description": "Extract the puppetlabs.puppetserver.shell-utils clojure namespace, it's java dependencies, and respective tests within puppetserver into a separate library.\nThe repo name should probably just be \"shell-utils\", though in the past we've also used \"jvm-\" or \"clj-\" prefixes for repositories that expose clojure and java apis.\nThe artifact's group-id should be \"puppetlabs\".\nThe project should have the same CI pipeline setup as other \"clojure libraries\".\nThe library should be released at 1.0.0\nPuppetserver should be updated to use it in master once it's been released.\npe-pse should be updated in Lovejoy to use this library once it's been released (around the same time the server is promoted into pe-pse)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17125", "fixedVersions": ["SERVER 6.5.0"], "id": "17125", "issueType": "Task", "key": "SERVER-2575", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2019-07-12T17:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Extract shell-utils as a library from puppetserver", "timeSpent": "PT0S", "updated": "2019-07-12T17:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for this feedback. We have some related issues with large CRLs, see https://puppet.atlassian.net/browse/TK-463 for example, and https://puppet.atlassian.net/browse/SERVER-2509 for a contributing factor. Unfortunately, there is no good way to clean the CRL up right now, apart from deleting it like you did. But we would like to mitigate things like this in other ways by improving the handling of large CRLs in general.", "created": "2019-10-25T17:23:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T12:13:00.000000"}], "components": [], "created": "2019-06-19T07:23:00.000000", "creator": "557058:afeb4589-3a40-45a2-9d53-0c583b3bf015", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4313304e"}, {"fieldName": "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": "SERVER-2712"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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 OS", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "RHEL 7 (x86_64)"}, {"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|hzv8cv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11094996386_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_74721208726"}], "description": "*Puppet Version: 6.4.2*\n *Puppet Server Version:\u00a06.3.0*\n *OS Name/Version: RHEL 7.6 x86_64*\n\nI\u2019m facing a issue if running `puppet node clean someagent.test.com` or `puppetserver ca clean --certname someagent.test.com` and `puppetserver ca list --all` (on the same machine as root) at the same time. This only occurs if I'm running one of the clean commands and the list command concurrently.\n\n\u00a0\n\nUPDATE: This error only occurs on masters with a large CRL. After a re-setup of the entire SSL CA all works fine. Is there a way to cleanup the CRL?\n{code:java}\n# ls -la /etc/puppetlabs/puppet/sslmaster/crl.pem\n-rw-r--r--. 1 puppet puppet 2395546 Jun 24 13:30 /etc/puppetlabs/puppet/sslmaster/crl.pem\n{code}\n\u00a0\n{code:java}# puppet node clean someagent.test.com\nWARN: Unresolved specs during Gem::Specification.reset:\n      facter (< 4, >= 2.0.1)\nWARN: Clearing out unresolved specs.\nPlease report a bug if this causes problems.\nNotice: Revoked certificate for someagent.test.com\nNotice: Cleaned files related to someagent.test.com\nsomeagent.test.com{code}\n\u00a0\n{code:java}# puppetserver ca clean --certname someagent.test.net\nRevoked certificate for someagent.test.net\nCleaned files related to someagent.test.net\n{code}\n\u00a0\n{code:java}#\u00a0puppetserver ca list --all\nFatal error when running action 'list'\n  Error: Failed connecting to https://puppet1.test.com:8140/puppet-ca/v1/certificate_statuses/any_key\n  Root cause: SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown\nFatal error when running action 'list'\n  Error: Failed connecting to https://puppet1.test.com:8140/puppet-ca/v1/certificate_statuses/any_key\n  Root cause: Net::OpenTimeout{code}\n\u00a0\n\nMy Puppet config\n{code:java}#\u00a0cat /etc/puppetlabs/puppet/puppet.conf\n[agent]\nserver=puppet0.test.com\nreport=true\nstringify_facts=falseruninterval=1800\n[master]\nstoreconfigs = true\nstoreconfigs_backend = puppetdb\nvardir = /opt/puppetlabs/server/data/puppetserver\nlogdir = /var/log/puppetlabs/puppetserver\nrundir = /var/run/puppetlabs/puppetserver\npidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid\ncodedir = /etc/puppetlabs/code\nssldir=/etc/puppetlabs/puppet/sslmaster\nreports=puppetdb\ncertname=puppet1.test.com\ndns_alt_names=puppet1.test.com,master1.test.com\nparser=future\nautosign=/usr/local/bin/autosign.sh\nca_server=puppet1.test.com\n[main]\nrundir=/var/run/puppetlabs\nhiera_config = /etc/puppetlabs/puppet/hiera.yaml\n{code}\n\u00a0\n\n*Desired Behavior:*\n\n`puppetserver ca list --all` should list certificates\u00a0\n\n*Actual Behavior:*\n\n\u00a0\n\n`puppetserver ca list --all` raises on errors\n{code:java}Fatal error when running action 'list' Error: Failed connecting to https://puppet1.test.com:8140/puppet-ca/v1/certificate_statuses/any_key Root cause: SSL_connect returned=1 errno=0 state=error: sslv3 alert certificate unknown Fatal error when running action 'list' Error: Failed connecting to https://puppet1.test.com:8140/puppet-ca/v1/certificate_statuses/any_key Root cause: Net::OpenTimeout\n{code}\npuppetserver.log\n{code:java}2019-06-19T15:08:08.594+02:00 INFO [clojure-agent-send-off-pool-1] [o.e.j.u.s.SslContextFactory] x509=X509@1e21d885(private key,h=[master1.test.com, puppet1.test.com],w=[]) for InternalSslContextFactory@ 5352bca3[provider=null,keyStore=null,trustStore=null] \n2019-06-19T15:08:08.689+02:00 ERROR [qtp1989839493-311] [p.r.core] Internal Server Error: java.lang.IllegalArgumentException: The CRL reader must contain at least one CRL at puppetlabs.ssl_utils.core$fn__21465$pem__GT_ca_crl__21470$fn__21471.invoke(core.clj:567) at puppetlabs.ssl_utils.core$fn__21465$pem__GT_ca_crl__21470.invoke(core.clj:563) at puppetlabs.puppetserver.certificate_authority$fn__36744$get_certificate_statuses__36749$fn__36753.invoke(certificate_authority.clj:1382) at puppetlabs.puppetserver.certificate_authority$fn__36744$get_certificate_statuses__36749.invoke(certificate_authority.clj:1379) at puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38275$fn__38278.invoke(certificate_authority_core.clj:306) at liberator.core$run_handler.invokeStatic(core.clj:176) at liberator.core$run_handler.invoke(core.clj:131) at liberator.core$handle_ok.invokeStatic(core.clj:224) at liberator.core$handle_ok.invoke(core.clj:224) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$multiple_representations_QMARK_.invokeStatic(core.clj:232) at liberator.core$multiple_representations_QMARK_.invoke(core.clj:232) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$put_to_existing_QMARK_.invokeStatic(core.clj:305) at liberator.core$put_to_existing_QMARK_.invoke(core.clj:305) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$post_to_existing_QMARK_.invokeStatic(core.clj:308) at liberator.core$post_to_existing_QMARK_.invoke(core.clj:308) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_patch_QMARK_.invokeStatic(core.clj:315) at liberator.core$method_patch_QMARK_.invoke(core.clj:315) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_delete_QMARK_.invokeStatic(core.clj:317) at liberator.core$method_delete_QMARK_.invoke(core.clj:317) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_modified_since_exists_QMARK_.invokeStatic(core.clj:337) at liberator.core$if_modified_since_exists_QMARK_.invoke(core.clj:337) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_none_match_exists_QMARK_.invokeStatic(core.clj:355) at liberator.core$if_none_match_exists_QMARK_.invoke(core.clj:355) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_unmodified_since_exists_QMARK_.invokeStatic(core.clj:375) at liberator.core$if_unmodified_since_exists_QMARK_.invoke(core.clj:375) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$if_match_exists_QMARK_.invokeStatic(core.clj:389) at liberator.core$if_match_exists_QMARK_.invoke(core.clj:389) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$exists_QMARK_.invokeStatic(core.clj:392) at liberator.core$exists_QMARK_.invoke(core.clj:392) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$processable_QMARK_.invokeStatic(core.clj:395) at liberator.core$processable_QMARK_.invoke(core.clj:395) at liberator.core$decide.invokeStatic(core.clj:87)\nat liberator.core$decide.invoke(core.clj:74) at liberator.core$encoding_available_QMARK_.invokeStatic(core.clj:399) at liberator.core$encoding_available_QMARK_.invoke(core.clj:399) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:416) at liberator.core$accept_encoding_exists_QMARK_.invokeStatic(core.clj:416) [65/808] at liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:416) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_charset_exists_QMARK_.invokeStatic(core.clj:429) at liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:429) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_language_exists_QMARK_.invokeStatic(core.clj:443) at liberator.core$accept_language_exists_QMARK_.invoke(core.clj:443) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$media_type_available_QMARK_.invokeStatic(core.clj:453) at liberator.core$media_type_available_QMARK_.invoke(core.clj:453) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$accept_exists_QMARK_.invokeStatic(core.clj:456) at liberator.core$accept_exists_QMARK_.invoke(core.clj:456) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$is_options_QMARK_.invokeStatic(core.clj:473) at liberator.core$is_options_QMARK_.invoke(core.clj:473) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$valid_entity_length_QMARK_.invokeStatic(core.clj:476) at liberator.core$valid_entity_length_QMARK_.invoke(core.clj:476) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$known_content_type_QMARK_.invokeStatic(core.clj:479) at liberator.core$known_content_type_QMARK_.invoke(core.clj:479) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$valid_content_header_QMARK_.invokeStatic(core.clj:481) at liberator.core$valid_content_header_QMARK_.invoke(core.clj:481) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$allowed_QMARK_.invokeStatic(core.clj:484) at liberator.core$allowed_QMARK_.invoke(core.clj:484) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$authorized_QMARK_.invokeStatic(core.clj:487) at liberator.core$authorized_QMARK_.invoke(core.clj:487) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$malformed_QMARK_.invokeStatic(core.clj:490) at liberator.core$malformed_QMARK_.invoke(core.clj:490) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$method_allowed_QMARK_.invokeStatic(core.clj:493) at liberator.core$method_allowed_QMARK_.invoke(core.clj:493) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$uri_too_long_QMARK_.invokeStatic(core.clj:496) at liberator.core$uri_too_long_QMARK_.invoke(core.clj:496) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$known_method_QMARK_.invokeStatic(core.clj:499) at liberator.core$known_method_QMARK_.invoke(core.clj:499) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$service_available_QMARK_.invokeStatic(core.clj:502)\nat liberator.core$service_available_QMARK_.invoke(core.clj:502) at liberator.core$decide.invokeStatic(core.clj:87) at liberator.core$decide.invoke(core.clj:74) at liberator.core$initialize_context.invokeStatic(core.clj:504) at liberator.core$initialize_context.invoke(core.clj:504) at liberator.core$run_resource.invokeStatic(core.clj:595) at liberator.core$run_resource.invoke(core.clj:593) at puppetlabs.services.ca.certificate_authority_core$certificate_statuses$fn__38275.invoke(certificate_authority_core.clj:293) at compojure.response$fn__16841.invokeStatic(response.clj:33) at compojure.response$fn__16841.invoke(response.clj:21) at compojure.response$fn__16814$G__16809__16821.invoke(response.clj:6) at puppetlabs.services.ca.certificate_authority_core$fn__38287$web_routes__38292$fn__38293$fn__38296.invoke(certificate_authority_core.clj:316) at bidi.ring$fn__16628.invokeStatic(ring.cljc:25) at bidi.ring$fn__16628.invoke(ring.cljc:21) at bidi.ring$fn__16613$G__16608__16622.invoke(ring.cljc:16) at puppetlabs.comidi$make_handler$fn__18544.invoke(comidi.clj:245) at puppetlabs.trapperkeeper.authorization.ring_middleware$fn__25030$wrap_authorization_check__25035$fn__25036$fn__25037.invoke(ring_middleware.clj:290) at puppetlabs.ring_middleware.core$fn__22623$wrap_bad_request__22632$fn__22635$fn__22641.invoke(core.clj:170) at puppetlabs.puppetserver.ringutils$fn__34959$wrap_with_trapperkeeper_or_client_whitelist_authorization__34964$fn__34965$fn__34969.invoke(ringutils.clj:124) at puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357) at puppetlabs.ring_middleware.core$fn__22721$wrap_uncaught_errors__22730$fn__22733$fn__22738.invoke(core.clj:216) at puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__34948.invoke(ringutils.clj:83) at puppetlabs.ring_middleware.core$fn__22371$wrap_response_logging__22376$fn__22377$fn__22378.invoke(core.clj:53) at puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__28207.invoke(jetty9_core.clj:434) at puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source) at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:167) at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:102) at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$fn__27785$normalize_uri_handler__27790$fn__27791$fn__27792.invoke(normalized_uri_helpers.clj:74) at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724) at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56) at com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36) at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:531) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:291) at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:151) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680) at java.lang.Thread.run(Thread.java:748)\n2019-06-19T15:08:10.847+02:00 WARN [qtp1989839493-291] [p.p.certificate-authority] No certificate request for someagent.test.net at expected path /etc/puppetlabs/puppet/sslmaster/ca/requests/someagent.test.net .pem\n\u00a0\n{code}\n\u00a0", "epicLinkSummary": "Improve CRL Management", "estimate": "PT0S", "externalId": "15467", "fixedVersions": [], "id": "15467", "issueType": "Bug", "key": "SERVER-2574", "labels": [], "originalEstimate": "PT0S", "parent": "16586", "parentSummary": "Improve CRL Management", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:afeb4589-3a40-45a2-9d53-0c583b3bf015", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Unable to connect puppetserver ca endpoints", "timeSpent": "PT0S", "updated": "2022-03-08T12:13:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Confirmed tag was merged up w/ applicable commits.\n\nDeleted release branch\n\nOpened PR to teardown release pipeline\n\n\u00a0\n\nWill keep this ticket open until after the retro to ensure any additional work for Winston is done.", "created": "2019-07-15T14:28:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No actions for this from the retro.", "created": "2019-07-24T11:01:00.000000"}], "components": [], "created": "2019-06-16T17:37:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2e738ed0"}, {"fieldName": "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-9775"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6tr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2346_*|*_10007_*:*_1_*:*_3909117_*|*_3_*:*_1_*:*_514970_*|*_10009_*:*_1_*:*_761303321_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2493664718"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-07-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "17555", "fixedVersions": [], "id": "17555", "issueType": "Task", "key": "SERVER-2573", "labels": [], "originalEstimate": "PT0S", "parent": "29662", "parentSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-24T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.3.1)", "timeSpent": "PT0S", "updated": "2019-07-24T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't see a tag for puppet-agent 6.4.3, nor is their a \"last passing\" sha for puppet-agent on builds when I checked. I've manually bumped our release branch to the HEAD of puppet-agent's \"6.4.3_release\" branch, which I assume will be the sha that they tag. I've kicked off our pipeline and will tag when it's finished. Won't be end of day today but should before Romania's Monday.", "created": "2019-07-12T17:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The commit with latest puppet-agent code has passed FOSS pipelines for us. The previous build with the last of our server code has already passed PE integration.\n\n[https://github.com/puppetlabs/puppetserver/tree/6.3.1]\n\n[http://builds.delivery.puppetlabs.net/puppetserver/6.3.1/]", "created": "2019-07-14T14:29:00.000000"}], "components": [], "created": "2019-06-16T17:37:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@720b7953"}, {"fieldName": "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-9775"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6tb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2318_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2407934571"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "16927", "fixedVersions": [], "id": "16927", "issueType": "Task", "key": "SERVER-2572", "labels": [], "originalEstimate": "PT0S", "parent": "29662", "parentSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-14T14:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.3.1)", "timeSpent": "PT0S", "updated": "2019-07-14T14:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Release branch created and PRs up to merge 6.3.x into master and create our 6.3.1-release pipeline.", "created": "2019-07-10T13:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "PRs merged.\n\nNB: we merged this pipeline pointing to a non-existent 6.4.3_release branch on puppet-agent, assuming that when the time comes that will be created.", "created": "2019-07-10T14:47:00.000000"}], "components": [], "created": "2019-06-16T17:37:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a9d6398"}, {"fieldName": "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-9775"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6t3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2436_*|*_10007_*:*_1_*:*_4968184_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2058425802"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "16577", "fixedVersions": [], "id": "16577", "issueType": "Task", "key": "SERVER-2571", "labels": [], "originalEstimate": "PT0S", "parent": "29662", "parentSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-10T14:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.3.1)", "timeSpent": "PT0S", "updated": "2019-07-10T14:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We think there may be a regression in our planned work that recently landed for 6.3.1 (though it may be a dependency issue). It arose in PE so there is a fairly long feedback cycle on it. We are continuing to assess the issue.", "created": "2019-07-09T23:33:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It appears to be a dependency issue and the resolution is in flight. This also affected 6.0.z and likewise we're moving forward with the 6.3.z release prep.", "created": "2019-07-10T12:53:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "From ticketmatch:\n{code}11:56:08 sellout:puppetserver justin (6.3.x<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 6.3.0\nEnter Git To Rev: |master| 6.3.x\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER 6.3.x| SERVER 6.3.1\n(Optional) Enter JIRA team name:\n...snip...\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.3.1)\nDOC-4056\nDOC-4135\nDOCUMENT-852\nRE-12490\nREVERT 7fbe808\nSERVER-1914\n\n----- Unresolved Jira tickets not in git commits -----\nUNRESOLVED ISSUES NOT FOUND IN GIT\nSERVER-2388     Ready for Engineering  (Server)\nSERVER-2461     Accepted               (Server)\n\n----- Unresolved Jira tickets found in git commits -----\nUNRESOLVED ISSUES FOUND IN GIT\nSERVER-2465     Ready for CI           (Server)\n\n----- Tickets missing release notes -----\nISSUES MISSING RELEASE NOTES\nSERVER-2388     Ready for Engineering  (Server)\nSERVER-2461     Accepted               (Server)\n{code}\nThe \"Git commits in Jira\" section is n/a and contains the same as 6.0.5 (SERVER-2585) so I won't repeat myself here.\n In the remaining sections:\n * SERVER-2388 - misattributed to 6.3.1, moved to 6.3.z and 6.y. (note it is in two sections)\n * SERVER-2461 - companion to SERVER-2388, resolved in same way. (also in two sections above)\n * SERVER-2465 - again from 6.0.5, and the issue from previous comments, done for FOSS considerations, in integrating until some dependency resolution issues are resolved in PE.\n\nAlso like 6.0.5 and 5.3.9, there are a few notable maintenance items (re-arranged in order of importance to users):\n * The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of puppetserver gem, puppetserver irb, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n * We used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)\n * It should be easier to build puppetserver outside our network now (though still no guarantees)", "created": "2019-07-10T13:06:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "From the agent side:\n{code}\n12:08:38 sellout:puppet justin (6.4.x $%<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 6.4.2\nEnter Git To Rev: |master| 6.4.x\nEnter JIRA project: |PUP|\nEnter JIRA fix version: |PUP 6.4.x| PUP 6.4.3\n(Optional) Enter JIRA team name: Server\n...snip....\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF PUP 6.4.3 AND A TEAM OF Server)\nPUP-1082\nPUP-3905\nPUP-4930\nPUP-6488\nPUP-8664\nPUP-9495\nPUP-9564\nPUP-9587\nPUP-9639\nPUP-9642\nPUP-9649\nPUP-9688\nPUP-9689\nPUP-9691\nPUP-9697\nPUP-9698\nPUP-9706\nPUP-9717\nPUP-9720\nPUP-9724\nPUP-9746\nPUP-9790\nPUP-9794\n\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}\n\nNothing for us, just some Puppet Romania tickets.", "created": "2019-07-10T13:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Confluence version is correct.", "created": "2019-07-10T13:11:00.000000"}], "components": [], "created": "2019-06-16T17:37:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@42e1a201"}, {"fieldName": "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-9775"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6sv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2345_*|*_3_*:*_1_*:*_49098191_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2008549648"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "estimate": "PT0S", "externalId": "16263", "fixedVersions": [], "id": "16263", "issueType": "Task", "key": "SERVER-2570", "labels": [], "originalEstimate": "PT0S", "parent": "29662", "parentSummary": "Puppet Platform 6.4.3 Release - 2019-07-16\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-10T13:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.3.1)", "timeSpent": "PT0S", "updated": "2019-07-10T13:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Confirmed tag was merged up w/ applicable commits.\n\nDeleted release branch\n\nOpened PR to teardown release pipeline\n\n\u00a0\n\nWill keep this ticket open until after the retro to ensure any additional work for Winston is done.", "created": "2019-07-15T14:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No actions for this from the retro.", "created": "2019-07-24T11:01:00.000000"}], "components": [], "created": "2019-06-16T17:21:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38283bd6"}, {"fieldName": "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-9755"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6ef:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2842_*|*_10007_*:*_1_*:*_3801211_*|*_3_*:*_1_*:*_622976_*|*_10009_*:*_1_*:*_761326425_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2494630580"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-07-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "estimate": "PT0S", "externalId": "14811", "fixedVersions": [], "id": "14811", "issueType": "Task", "key": "SERVER-2569", "labels": [], "originalEstimate": "PT0S", "parent": "20108", "parentSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-24T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.9)", "timeSpent": "PT0S", "updated": "2019-07-24T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This pipeline didn't run automatically for some reason when the agent sha was bumped with the tag.\n\nI went to double check everything and noticed that. Even though the pipeline has passed all of our own testing and successfully been promoted into PE and tested there, I'm going to wait until the CI pipeline finishes building against the agent's 5.5.10 tag. In waiting for that to happen we won't get our own tag done by end of business today. I'll kick off the tag/build though before Romania's Monday.", "created": "2019-07-12T16:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Tests passed in the FOSS pipelines against the agent tag\n\nRan the tag and promote pipeline against the 5.3.9-release branch aaaand:\n\n[https://github.com/puppetlabs/puppetserver/tree/5.3.9]\n\n[http://builds.delivery.puppetlabs.net/puppetserver/5.3.9/]\n\nTag is going through the promotion pipeline into PE now.", "created": "2019-07-14T14:08:00.000000"}], "components": [], "created": "2019-06-16T17:21:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6eb9996a"}, {"fieldName": "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-9755"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6dz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2444_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2407610995"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "estimate": "PT0S", "externalId": "17123", "fixedVersions": [], "id": "17123", "issueType": "Task", "key": "SERVER-2568", "labels": [], "originalEstimate": "PT0S", "parent": "20108", "parentSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-14T14:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.9)", "timeSpent": "PT0S", "updated": "2019-07-14T14:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've created a\u00a0[https://github.com/puppetlabs/puppetserver/tree/5.3.9-release]\u00a0branch off of\u00a02e90743e337afdf1cd085e3c23e7db6066995906 and opened a PR to create the release pipeline at\u00a0[https://github.com/puppetlabs/ci-job-configs/pull/6064]", "created": "2019-07-09T23:19:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Double checked that commits had been merged up to 6.0.x.\nPipeline has been created in CI.", "created": "2019-07-10T12:15:00.000000"}], "components": [], "created": "2019-06-16T17:21:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@69aefd90"}, {"fieldName": "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-9755"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6dr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2457_*|*_10007_*:*_1_*:*_46597764_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2008680793"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-07-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "estimate": "PT0S", "externalId": "16926", "fixedVersions": [], "id": "16926", "issueType": "Task", "key": "SERVER-2567", "labels": [], "originalEstimate": "PT0S", "parent": "20108", "parentSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-10T12:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.9)", "timeSpent": "PT0S", "updated": "2019-07-10T12:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "From running ticketmatch:\n{code}21:19:53 sellout:puppetserver justin (5.3.x<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 5.3.8\nEnter Git To Rev: |master| 5.3.x\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER 5.3.x| SERVER 5.3.9\n(Optional) Enter JIRA team name:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100   244    0    53  100   191    167    604 --:--:-- --:--:-- --:--:--   604\nJIRA returned no results for project 'SERVER' and fix version 'SERVER 5.3.9'\n{code}\n_NB: I also ran this with several variations of 5.y.z - all of the ones in JIRA - to similar effect_\n\nSo, since 5.3.x is in hardcore maintenance mode, but there has been a number of things we've landed I did a git log from the last tag to see the view from git itself:\n{code}21:23:51 sellout:puppetserver justin (5.3.x<>) \u2016 git log 5.3.8...HEAD > 5.3.9-CHANGELOG                                                                                             [122/9213]\n21:24:06 sellout:puppetserver justin (5.3.x %<>) \u2016 cat 5.3.9-CHANGELOG\n2e90743 by Maggie Dreyer on Tue Jul 9 16:03:26 2019 -0700:\n      (maint) sed zypper list when installing puppet-agent 1.x (#2109)\n0429303 by Justin Stoller on Tue Jul 9 15:19:35 2019 -0700:\n      (RE-12490) sed zypper list when installing puppet-agent 1.x\n2672faa by Justin Stoller on Tue Jul 9 10:34:30 2019 -0700:\n      Revert \"(maint) Don't override leiningen's default repositories\u2026 (#2107)\nd4e8530 by Jenkins CI on Tue Jul 9 16:55:34 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n7fbe808 by Maggie Dreyer on Tue Jul 9 08:18:45 2019 -0700:\n      Revert \"(maint) Don't override leiningen's default repositories by default\"\n1cad601 by Justin Stoller on Mon Jul 8 15:34:40 2019 -0700:\n      Merge pull request #2101 from underscorgan/maint/5.3.x/default-to-public\ne049ace by Morgan Rhodes on Tue Jun 25 13:22:52 2019 -0700:\n      (maint) Don't override leiningen's default repositories by default\n39db11f by Maggie Dreyer on Mon Jul 8 10:19:33 2019 -0500:\n      Merge pull request #2100 from justinstoller/server-setting-in-upgrades\n262489e by Justin Stoller on Fri Jul 5 13:05:09 2019 -0700:\n      Merge pull request #2074 from pcarlisle/xenial-5.3\n9a25e25 by Justin Stoller on Fri Jul 5 10:28:10 2019 -0700:\n      (maint) Extend `server` config changes to upgrades\n1af0011 by Jenkins CI on Fri Jul 5 16:56:06 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nca98c1b by Jenkins CI on Thu Jul 4 16:57:07 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n0471273 by Jenkins CI on Wed Jul 3 16:55:34 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n31980e3 by Maggie Dreyer on Wed Jul 3 10:45:48 2019 -0500:\n      (maint) Remove `--server` usage from tests (#2095)\nd341205 by Justin Stoller on Tue Jul 2 21:25:59 2019 -0700:\n      (maint) Bump EZBake to 2.0.4 for egd source change (#2096)\nea51588 by Maggie Dreyer on Tue Jul 2 20:11:16 2019 -0500:\n      (maint) Use protocol in egd java parameter (#2094)\necbc6f9 by Justin Stoller on Tue Jul 2 17:00:41 2019 -0700:\n      (maint) Bump EZBake to 2.0.4 for egd source change\n46f5e21 by Justin Stoller on Tue Jul 2 16:53:24 2019 -0700:\n      (maint) Remove usages of --server from acceptance suite\n254c8e5 by Justin Stoller on Tue Jul 2 16:52:08 2019 -0700:\n      (maint) Improve x509 auth test\n0b26a86 by Justin Stoller on Tue Jul 2 16:48:51 2019 -0700:\n      (maint) Update puppet.conf to specify server on all nodes\n9d24290 by Justin Stoller on Tue Jul 2 13:52:36 2019 -0700:\n      (maint) Use protocol in egd java parameter\n0faa3b7 by Maggie Dreyer on Mon Jul 1 15:07:09 2019 -0500:\n      (maint) Specify `server` setting puppet.conf (#2091)\na116ede by Justin Stoller on Tue Nov 20 13:19:37 2018 -0800:\n      (maint) Specify `server` setting puppet.conf\n9b71b49 by Jenkins CI on Sat Jun 29 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n7ee8e81 by Jenkins CI on Fri Jun 28 16:56:15 2019 +0000:                                                                                                                             [72/9213]\n      (maint) update puppet submodule version and agent pin\n0995838 by Jenkins CI on Thu Jun 27 16:56:03 2019 +0000:\n      (maint) update puppet submodule version and agent pin\na22cb0c by Jenkins CI on Tue Jun 25 16:55:32 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n8e6ab52 by Jenkins CI on Fri Jun 21 16:55:38 2019 +0000:\n      (maint) update puppet submodule version and agent pin\ndea2ba4 by Jenkins CI on Thu Jun 20 16:56:54 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n82088ce by Jenkins CI on Wed Jun 19 16:55:37 2019 +0000:\n      (maint) update puppet submodule version and agent pin\ne00efb5 by Jenkins CI on Mon Jun 17 16:55:50 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n37691e5 by Maggie Dreyer on Fri Jun 14 10:25:01 2019 -0500:\n      (maint) Inline PC1 repo installation (#2081)\n400e2e7 by Justin Stoller on Thu Jun 13 16:46:53 2019 -0700:\n      (maint) Inline PC1 repo installation\n0390417 by Jenkins CI on Wed Jun 12 15:59:04 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n460c84c by Jenkins CI on Tue Jun 11 16:55:37 2019 +0000:\n      (maint) update puppet submodule version and agent pin\ndc8fce6 by Justin Stoller on Mon Jun 10 19:47:24 2019 -0700:\n      (DOCUMENT-852) Clarify which puppet.conf sections puppetserver uses (#2079)\n93ede1a by Justin Stoller on Mon Jun 10 19:03:29 2019 -0700:\n      (maint) fixup puppet.conf section preference doc\n40748ac by Jenkins CI on Sat Jun 8 16:55:37 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n8609672 by Jenkins CI on Fri Jun 7 16:56:08 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n2a7c26f by clairecadman on Thu Jun 6 11:54:42 2019 +0100:\n      Update configuration.markdown\n15bbe68 by Jenkins CI on Wed Jun 5 16:55:38 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n0ff9791 by clairecadman on Wed Jun 5 17:50:35 2019 +0100:\n      (DOCUMENT-852) Clarify which puppet.conf sections puppetserver uses\n05d094b by Jenkins CI on Tue Jun 4 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nfb9b97e by Patrick Carlisle on Fri May 31 13:45:41 2019 -0700:\n      (maint) Update travis to use xenial image\nf532c7b by Jenkins CI on Wed May 22 16:57:50 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n6eacaa6 by Jenkins CI on Wed May 15 16:56:46 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nb73c213 by Jenkins CI on Sat May 11 16:56:01 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n2d2a793 by Jenkins CI on Thu May 9 16:55:37 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n102b62c by Jenkins CI on Mon May 6 16:55:33 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n305a3d9 by Jenkins CI on Fri May 3 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nb6d8f16 by Justin Stoller on Tue Apr 30 11:58:03 2019 -0700:                                                                                                                         [20/9213]\n      Merge pull request #2056 from underscorgan/maint/5.3.x/too-many-facters\n0c0ab45 by Morgan Rhodes on Mon Apr 29 16:38:21 2019 -0700:\n      (maint) Puppetserver shouldn't include facter 2\n887624f by Jenkins CI on Sat Apr 27 16:55:34 2019 +0000:\n      (maint) update puppet submodule version and agent pin\na507d7c by Jenkins CI on Fri Apr 26 16:56:50 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n0fb8439 by Jenkins CI on Fri Apr 19 16:55:52 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n3f63949 by Jenkins CI on Wed Apr 17 16:55:34 2019 +0000:\n      (maint) update puppet submodule version and agent pin\ncb4932e by Jenkins CI on Sat Apr 13 16:55:38 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n5cb6c8a by Justin Stoller on Fri Apr 12 08:21:43 2019 -0700:\n      Merge pull request #2047 from puppetlabs/clairecadman-patch-2\nc4132c4 by clairecadman on Fri Apr 12 15:15:18 2019 +0100:\n      Update restarting.markdown\nc2ab11b by Jenkins CI on Thu Apr 11 16:55:34 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n1181703 by clairecadman on Thu Apr 11 13:04:28 2019 +0100:\n      DOC-3964 Add note re. `systemctl restart puppet`\n6b50f74 by Jenkins CI on Wed Apr 10 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n8fee13d by Maggie Dreyer on Mon Apr 8 13:03:32 2019 -0700:\n      Merge pull request #2046 from justinstoller/maint-more-debian\n42a7f40 by Justin Stoller on Mon Apr 8 11:44:57 2019 -0700:\n      (maint) Do not run code_commands test on Debian\ne09bb74 by Jenkins CI on Mon Apr 8 16:55:31 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n84746d1 by Jenkins CI on Fri Apr 5 16:56:00 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n61de4e4 by Maggie Dreyer on Wed Apr 3 15:08:14 2019 -0700:\n      Merge pull request #2042 from justinstoller/debian\n8d03ce5 by Justin Stoller on Wed Apr 3 13:36:30 2019 -0700:\n      (maint) Update supported PDB systems\n116a844 by Justin Stoller on Wed Apr 3 13:31:44 2019 -0700:\n      (maint) Use artifactory now that Debian has died\nedb9ec8 by Jenkins CI on Wed Apr 3 16:56:49 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nb3d97af by Jenkins CI on Tue Apr 2 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n5c982fa by Jenkins CI on Sun Mar 31 16:55:35 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n73fcc3c by Jenkins CI on Sat Mar 30 16:55:33 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n09bfd16 by Maggie Dreyer on Fri Mar 29 08:38:41 2019 -0700:\n      Merge pull request #2037 from pcarlisle/transpec\n23dfba8 by Maggie Dreyer on Fri Mar 29 08:37:25 2019 -0700:\n      Merge pull request #2038 from pcarlisle/public-rbac-client\nd4bf910 by Patrick Carlisle on Thu Mar 28 11:51:56 2019 -0700:\n      (maint) Use publicly available version of rbac-client\ne2a80d6 by Patrick Carlisle on Wed Mar 27 16:07:56 2019 -0700:\n      (maint) Update to rspec 3 style\nc5d1f8d by Justin Stoller on Wed Mar 27 13:41:02 2019 -0700:\n      Merge pull request #2023 from pcarlisle/mocha-5.3.x\nbfca102 by Jenkins CI on Tue Mar 26 16:55:31 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n1f8d1e0 by Maggie Dreyer on Mon Mar 25 11:40:18 2019 -0700:\n      Merge pull request #2021 from puppetlabs/release_notes_538\n72d7309 by Jenkins CI on Mon Mar 25 16:55:38 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n5d0ac82 by Jenkins CI on Sat Mar 23 16:55:30 2019 +0000:\n      (maint) update puppet submodule version and agent pin\nb4ea7b8 by Jenkins CI on Wed Mar 20 16:55:32 2019 +0000:\n      (maint) update puppet submodule version and agent pin\n2f87636 by Jenkins CI on Wed Mar 20 16:41:28 2019 +0000:\n      Version 5.3.9-SNAPSHOT\nfc118a5 by Patrick Carlisle on Thu Feb 28 16:15:46 2019 -0800:\n      (maint) Don't use python in test\ne083e6d by Patrick Carlisle on Tue Mar 19 14:47:28 2019 -0700:\n      (maint) Use rspec expectations instead of mocha\n1418329 by clairecadman on Mon Mar 18 14:23:35 2019 +0000:\n      (DOCS) Add Puppet Server 5.3.8 release notes\n{code}\nTo summarize those amount to:\n * a lot of bumping puppet agent submodule, acceptance test fixups, some spec updates, and trivial dependency updates\n * a few packaging updates, which meaningfully amounts to\n ** It should be easier to build puppetserver outside our network now (though still no guarantees)\n ** We used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)\n ** The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of {{puppetserver gem}}, {{puppetserver irb}}, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n\nThat last bullet is our highlight from the release and I'll work with them to get that in the release notes since we did not do any of this via ticketed work (it was all maintenance type work found while fixing other issues - usually CI).\n\n\u00a0\n\n\u00a0\n\nI should also note that following the above description and searching for PUP tickets assigned to the Server team returned a long list of tickets assigned to \"Puppet Romania\", we should probably investigate why that is.\n{code}\n21:40:08 sellout:puppet justin (5.5.x *$%<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 5.5.14\nEnter Git To Rev: |master| 5.5.x\nEnter JIRA project: |PUP|\nEnter JIRA fix version: |PUP 5.5.x| PUP 5.5.16\n(Optional) Enter JIRA team name: Server\n...snip...\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF PUP 5.5.16 AND A TEAM OF Server)\nPUP-1082\nPUP-4930\nPUP-6488\nPUP-8664\nPUP-9495\nPUP-9564\nPUP-9587\nPUP-9639\nPUP-9642\nPUP-9649\nPUP-9688\nPUP-9689\nPUP-9691\nPUP-9697\nPUP-9698\nPUP-9706\nPUP-9790\nPUP-9794\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n----- Tickets missing release notes -----\nALL ISSUES CONTAIN RELEASE NOTES\n{code}", "created": "2019-07-09T22:46:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Someone has already updated the Confluence page with the appropriate Server version for some reason.", "created": "2019-07-09T22:48:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] the reason is there's a step earlier in the process (see PUP-9756) to update the version dependency information based on what's known at that time. We have a reminder to check and potentially update the information for each component later during reconciliation (as in this ticket) in case things have changed (which they sometimes do).", "created": "2019-07-10T06:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, apologies for the snark. FWIW, I'd be happy updating Confluence and having PM skip that step, I think PM has lots to do and pushing version management to the teams is perfectly fine by me.", "created": "2019-07-10T09:48:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey [~accountid:557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79], our notable work for Platform 5.5.16 release notes came in as unticketed maint work. They are:\n * The way we were setting our source of randomness for CLI commands was silently broken. Consequently invocations of puppetserver gem, puppetserver irb, etc should be 15-30% faster to start up. Service starting and reloading should see similar improvements as well as some marginal improvements to top end performance, especially in environments with limited sources of entropy.\n\n^ this is the main thing\n\nBut also two minor fixups:\n * It should be easier to build puppetserver outside our network now (not 100% easy but slightly improved)\n * We used to ship an old deprecated version of facter with the puppetserver package (it should have been ignore and was completely unnecessary)\n\n\u00a0\n\nWhat is the best way to get this info in the release notes for you? These changes will also be in all the later releases (6.0.10, 6.3.whatever, 6. ...5.0?) how can I best surface this info to you for those releases?", "created": "2019-07-10T11:44:00.000000"}, {"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], how does a SERVER ticket with the relevant fix versions sound? Just add the roll up of unticketed work to the docs tab and mark it as \"bug fix\" (or really, anything except \"not needed\").\n\nThe fix versions can be whatever Server versions they apply to, since the Server release notes are versioned with Server, so you don't need to worry about what Puppet versions. We map the Server version to the Puppet version in our publishing pipeline.", "created": "2019-07-10T16:03:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey [~accountid:557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79], I made\u00a0SERVER-2590 put the info in there and gave it the appropriate fix versions. Let me know if I can do anything else (or misconstrued anything you said)!", "created": "2019-07-10T16:36:00.000000"}], "components": [], "created": "2019-06-16T17:21:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@711f4fca"}, {"fieldName": "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-9755"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv6dj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2388_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2006848934"}], "description": "(Initial planned release date: 2019-07-16)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-07-09T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "estimate": "PT0S", "externalId": "16546", "fixedVersions": [], "id": "16546", "issueType": "Task", "key": "SERVER-2566", "labels": [], "originalEstimate": "PT0S", "parent": "20108", "parentSummary": "Puppet Platform 5.5.16 Release - 2019-07-16", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2019-07-09T22:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.9)", "timeSpent": "PT0S", "updated": "2019-07-10T16:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:adac4e58-01ac-4fce-8be9-94131c26c73d", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] is this on your radar? could you estimate the size?", "created": "2019-10-31T12:53:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yes it's on my radar. It's probably not that big, the fix is conceptually straightforward. We'd just need to be careful to make sure we find all the spots that need to be updated.", "created": "2019-10-31T12:58:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Moved this up in the backlog for the team to review and get an estimate on how much work this is.  ", "created": "2020-02-18T14:21:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "Will this fix be released in a 5.x version as well?", "created": "2020-05-04T03:32:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Currently we are only releasing it for 6.x, since the patch does not apply cleanly to 5.x, so a backport is extra work. [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] what are your thoughts on backporting these changes?", "created": "2020-05-05T13:19:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "5.x will be end of life in ~9 months so I think the correct investment is to not backport.  \n\n[~accountid:557058:e0389099-cc54-4f97-bd2a-7fa4735554bd] will you be able to update to 6.x?  if not, why?  ", "created": "2020-05-05T15:02:00.000000"}, {"author": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "body": "6.x dropped MCollective which we have some investment in, so it's prevented us jumping to 6.x and beyond. I'll just have to dangle this as a carrot to force the upgrade.", "created": "2020-05-06T02:47:00.000000"}], "components": ["Certificate Authority"], "created": "2019-06-10T09:33:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@534ffa4a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "2000.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwlb9:"}, {"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": "The Puppet Server CA will now write all of its files atomically, preventing an issue where CRLs could be read partway through being written, resulting in a failed load and corruping CA state."}, {"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": "35116,38360"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_597188373_*|*_1_*:*_1_*:*_9848956126_*|*_10007_*:*_1_*:*_81054162_*|*_3_*:*_1_*:*_620655949_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5514068128_*|*_10005_*:*_1_*:*_12030916508"}], "description": "When issuing or revoking certificates, the Puppet Server must update files that hold the state of the certificate authority. Currently, this is done by opening the file as {{O_WRONLY|O_CREAT|O_TRUNC}} and re-writing the entire thing. This approach means that a sudden halt, such as an OutOfMemory kill or exhaustion of disk space, will interrupt the file write and leave incomplete, corrupted state behind. To mitigate this, Puppet Server should use atomic file operations when updating CA state files like the CRL, inventory, and serial number.\n\nIn addition, if another thread attempts to read these files while they are being written, an incomplete version will be read into memory, causing a local problem, even if the file ultimately writes to completion.\n\nh2. Suggested Approach\n\nWhen updating CA state files, Puppet Server should:\n\n  - Write the new content to a temporary file, then fsync it\n  - Move the temporary file into place, then fsync the directory containing the file\n\nIf the server is interrupted before step 2 completes, then the previously valid file will remain.", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "16080", "fixedVersions": ["SERVER 6.11.1"], "id": "16080", "issueType": "Improvement", "key": "SERVER-2565", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-05-07T11:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Server should use atomic file operations when updating CA state", "timeSpent": "PT0S", "updated": "2020-05-07T11:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-06-07T16:32:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f99b192"}, {"fieldName": "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-9734"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv12n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2267_*|*_3_*:*_1_*:*_16881_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1021148949"}], "description": "(Initial planned release date: 2019-06-18)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-06-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "estimate": "PT0S", "externalId": "15464", "fixedVersions": [], "id": "15464", "issueType": "Task", "key": "SERVER-2564", "labels": [], "originalEstimate": "PT0S", "parent": "22224", "parentSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-06-19T12:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.4.0)", "timeSpent": "PT0S", "updated": "2019-06-19T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-06-07T16:32:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@51c5978c"}, {"fieldName": "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-9734"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv127:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2298_*|*_3_*:*_1_*:*_184766087_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_836408299"}], "description": "(Initial planned release date: 2019-06-18)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-06-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "estimate": "PT0S", "externalId": "14810", "fixedVersions": [], "id": "14810", "issueType": "Task", "key": "SERVER-2563", "labels": [], "originalEstimate": "PT0S", "parent": "22224", "parentSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-06-19T12:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.4.0)", "timeSpent": "PT0S", "updated": "2019-06-19T12:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The only commits that haven't been merged up are docs commits that can come later. Still waiting on green CI before we can move to tagging.", "created": "2019-06-14T09:13:00.000000"}], "components": [], "created": "2019-06-07T16:32:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a2ff361"}, {"fieldName": "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-9734"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv11z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2390_*|*_3_*:*_1_*:*_258199033_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_578206882"}], "description": "(Initial planned release date: 2019-06-18)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-06-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "estimate": "PT0S", "externalId": "17554", "fixedVersions": [], "id": "17554", "issueType": "Task", "key": "SERVER-2562", "labels": [], "originalEstimate": "PT0S", "parent": "22224", "parentSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-06-17T08:52:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.4.0)", "timeSpent": "PT0S", "updated": "2019-06-17T08:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-06-07T16:32:00.000000", "creator": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@769ecfc4"}, {"fieldName": "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-9734"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzv11r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2316_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_578204875"}], "description": "(Initial planned release date: 2019-06-18)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-06-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "estimate": "PT0S", "externalId": "17121", "fixedVersions": [], "id": "17121", "issueType": "Task", "key": "SERVER-2561", "labels": [], "originalEstimate": "PT0S", "parent": "22224", "parentSummary": "Puppet Platform 6.5.0 Release - 2019-06-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "resolution": "Done", "resolutionDate": "2019-06-14T09:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.4.0)", "timeSpent": "PT0S", "updated": "2019-06-14T09:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Filed as major as the upgrade to PE 2019.1 currently requires creation of the infrastructure CRL to succeed and the {{NoMethodError}} generated does not indicate what the issue is. A common situation resulting in this error is the upgrade of a pre-2019.0 installation that used an external CA or otherwise had a non-standard but functional CA configuration that does not satisfy all of the validation checks performed by the {{Puppetserver::Ca::X509Loader}} class.", "created": "2019-06-07T15:26:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Looks like this one was shipped in version 1.3.2 of the {{puppetserver-ca}} gem, but puppetserver it's self still needs to pick up the new version.", "created": "2019-08-09T18:24:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We've updated the version in puppetserver 5.x, I'll make sure it gets merged up and added to the PE projects as well.", "created": "2019-08-16T12:14:00.000000"}], "components": ["Certificate Authority", "CLI"], "created": "2019-06-07T15:17:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6d69b545"}, {"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|hzv0un:"}, {"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": "16/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5454369581_*|*_10009_*:*_1_*:*_857470656_*|*_5_*:*_1_*:*_0"}], "description": "The {{puppetserver ca enable --infracrl}} loads the local files that comprise the Puppet Certificate Authority and use them to initialize a revocation list for infrastructure nodes. However, error checking is performed after the CRL initialization attempt which means an issue encountered when loading the CA files causes the command to terminate early with a NoMethodError instead of a useful error message.\n\nh2. Reproduction Case\n\n  - Install Puppet Server 6.3.0 on CentOS 7\n\n{code:bash}\nrpm -Uvh http://yum.puppetlabs.com/puppet6/puppet6-release-el-7.noarch.rpm\nyum makecache fast\nyum install -y puppetserver-6.3.0\n\nsource /etc/profile.d/puppet-agent.sh\n{code}\n\n  - Initialize the Puppet CA\n\n{code:bash}\npuppetserver ca setup\n{code}\n\n  - Remove the existing infrastructure CRL and move a file required to validate the CA state\n\n{code:bash}\nrm -f /etc/puppetlabs/puppet/ssl/ca/infra_crl.pem\nmv /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem.hidden\ntouch /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\n{code}\n\n  - Enable the infrastructure CRL\n\n{code:bash}\npuppetserver ca enable --infracrl\n{code}\n\nh3. Outcome\n\nThe enable command fails with a NoMethodError:\n\n{noformat}\n# puppetserver ca enable --infracrl\nTraceback (most recent call last):\n\t5: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t4: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.3.1/lib/puppetserver/ca/cli.rb:94:in `run'\n\t3: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.3.1/lib/puppetserver/ca/action/enable.rb:53:in `run'\n\t2: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.3.1/lib/puppetserver/ca/action/enable.rb:75:in `enable_infra_crl'\n\t1: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.3.1/lib/puppetserver/ca/action/enable.rb:100:in `create_infra_crl_chain'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.3.1/lib/puppetserver/ca/local_certificate_authority.rb:214:in `create_crl_for': undefined method `subject' for nil:NilClass (NoMethodError)\n{noformat}\n\n\nh3. Expected Outcome\n\nThe enable command fails with messages that indicate the issue with loading the CA:\n\n{noformat}\n# puppetserver ca enable --infracrl\nError:\nCould not parse /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\nCould not detect any crls within /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\nCA not initialized. Please set up your CA before attempting to generate certs offline.\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16079", "fixedVersions": ["SERVER 6.3.2"], "id": "16079", "issueType": "Bug", "key": "SERVER-2559", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2019-08-19T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca enable doesn't check for errors before creating infrastructure CRLs", "timeSpent": "PT0S", "updated": "2019-08-19T16:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Hello [~accountid:557058:3343297b-7399-4b70-9ed0-6ed592707b8c], are you still having an issue with this?", "created": "2019-10-25T17:19:00.000000"}, {"author": "623c1254a1d81f0069d8e190", "body": "I ran into the exact same issue and managed to get things running after many hours of searching the web for answers. I'd love to fix this on the master rather than on the client node but don't really know my way around the whole certificate thing. Any advice?", "created": "2020-06-05T03:23:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Can you verify that the Puppet agent major version matches the master? This looks like it may be a platform 5 agent talking to a platform 6 master.", "created": "2020-12-02T12:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Going to close this, since it's been inactive for a while. Please reopen with more details if you're still having issues.", "created": "2021-03-31T11:07:00.000000"}], "components": [], "created": "2019-06-07T13:21:00.000000", "creator": "557058:3343297b-7399-4b70-9ed0-6ed592707b8c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7489f5a4"}, {"fieldName": "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": "Other"}, {"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|hzv0sn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57275135649_*|*_6_*:*_1_*:*_0"}], "description": "Hi all, i have followed a repo install on Ubuntu.\n\nWhen testing the agent, i was getting the below:\u00a0\n\n{{C:\\Windows\\system32>puppet agent --test\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nInfo: Retrieving pluginfacts\nError: /File[C:/ProgramData/PuppetLabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nError: /File[C:/ProgramData/PuppetLabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nInfo: Retrieving plugin\nError: /File[C:/ProgramData/PuppetLabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nError: /File[C:/ProgramData/PuppetLabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nError: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nError: Could not send report: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get issuer certificate for /CN=Puppet CA: puppet.mydomain.com]}}\n\nI have troubleshooted to the following:\n\n1) There is no CRL created in CA\n\n2) Auto-downloaded window agent has a ca.pem, but this contains one cert only... when downloading from the puppet master shows [https://puppet.mydomain.com:8140/puppet-ca/v1/certificate/ca|https://puppet.example.com:8140/puppet-ca/v1/certificate/ca]\u00a0two chained certificates in the same file.\n\n3) O the agent leaving everything as is (with the auto downloaded ca.pem that only contans the single cert), and testing the chain with openssl throws an error:\n\nC:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs>openssl verify -CAfile ca.pem home-hv1.pem\nhome-hv1.pem: CN = Puppet CA: puppet.mydomain.com\nerror 2 at 1 depth lookup:unable to get issuer certificate\n\n3) On the agent, replacing\u00a0C:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs with the downloaded (from step 2) and renaming to ca.pem, then allows openssl to pass:\n\nC:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs>openssl verify -CAfile ca.pem home-hv1.pem\nhome-hv1.pem: OK\u00a0\n\n4) Trying to run with the above causes a failure\n\n\u00a0\n\n{{C:\\ProgramData\\PuppetLabs\\puppet\\etc\\ssl\\certs>puppet agent --test\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get certificate CRL for /CN=Puppet CA: puppet.mydomain.com]}}\n\n5) Setting the agent config\n\n{{[main]\nserver=puppet.mydomain.com}}\n\n{{autoflush=true}}\n\n{{manage_internal_file_permissions=false}}\n\n{{certificate_revocation = false}}\n\n\u00a0\n\nThen allowed the agent test to run\n\n\u00a0\n\n{{Info: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for home-hv1\nInfo: Applying configuration version '1559933691'}}\n\n{{}}", "environment": "Ubuntu LTS 18.04\n\nWindows Agent x64 latest (as of 06/2019)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15738", "fixedVersions": [], "id": "15738", "issueType": "Bug", "key": "SERVER-2560", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3343297b-7399-4b70-9ed0-6ed592707b8c", "resolution": "Cannot Reproduce", "resolutionDate": "2021-03-31T11:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CRL not created in CA, auto-downloaded window agent ca missing chain", "timeSpent": "PT0S", "updated": "2021-03-31T11:07:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Even with the CA disabled, the webserver operated by the compiler needs a readable CRL in order to determine whether to accept or reject the certificates presented by Puppet agents.", "created": "2019-06-07T15:29:00.000000"}, {"author": "623c0ed8866b810069e43620", "body": "Seeing the same thing. {{/etc/puppetlabs/puppet/ssl/crl.pem}}\u00a0exists because the machine is managed by puppet, so the agent has installed this file from the CA master. {{/etc/puppetlabs/puppet/ssl/ca/}} does not exist because CA services have always been disabled on the additional compile master.\n\nI understand why the compile master needs to check a CRL, but why is it looking for one in the ca directory specifically? Puppetserver expects us to create the ca directory, even though the host is not running any ca services, and be responsible for keeping an up to date copy of the {{ca_crl}} in there?\n\nCould it not use the agent-installed CRL instead? Or at least fall back to this if the CA directory does not exist?", "created": "2019-07-19T07:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah this seems like a bug.", "created": "2019-10-25T17:16:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "PE uses {{ssl-crl-path: /etc/puppetlabs/puppet/ssl/crl.pem}} on both the Master and Compilers. Seems like we should just update the packages to use this as the default value.", "created": "2019-10-29T13:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this comes from here: https://github.com/puppetlabs/puppetserver/blob/337370397ec566a9ac3f0e0458fc805f12942e12/src/clj/puppetlabs/services/config/puppet_server_config_core.clj#L118\n\nIn FOSS, the default config files do not specify {{ssl-crl-path}}, instead we set it in code there based on the value of {{cacrl}}. (Confusingly, if I'm reading that code right, those \"overrides\" only come into effect if there's nothing to override.) I think changing that to {{hostcrl}} would do the right thing, or at least adding that as a fallback.", "created": "2021-02-22T11:04:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR for this change is up at https://github.com/puppetlabs/puppetserver/pull/2495. Seeing as we already use this setting in PE, the change seems unlikely to cause trouble.", "created": "2021-02-22T12:59:00.000000"}], "components": [], "created": "2019-06-07T05:10:00.000000", "creator": "557058:88b7bd93-d432-4423-aaca-d0fdc06c4004", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@53f31028"}, {"fieldName": "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": "SERVER-2712"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzv0iv:"}, {"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 Jetty webserver will now use the local copy of the CRL, from Puppet's SSL dir, rather than the CA's copy. This makes it easier to set up compilers, which have a disabled CA service and therefore no CRL at the CA path."}, {"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/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_82215634_*|*_1_*:*_1_*:*_12139551793_*|*_10007_*:*_1_*:*_73847019_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_41978611628"}], "description": "*Puppet Version:* 6.4.2\n*Puppet Server Version:* 6.3.0\n*OS Name/Version:* Debian 9 (stretch)\n\nI'm attempting to set up a Puppet compile master as described [in the docs|https://puppet.com/docs/puppetserver/6.3/scaling_puppet_server.html], using DNS SRV records for service discovery:\n\n{code}\n_x-puppet._tcp.dev-chrisb.zcode.net. 142 IN SRV\t0 50 8140 puppet.dev-chrisb.zcode.net.\n_x-puppet-ca._tcp.dev-chrisb.zcode.net.\t300 IN SRV 0 100 8140 puppet.dev-chrisb.zcode.net.\n{code}\n\nI have successfully managed to configure a primary puppet server which is providing the CA services, and I have deployed a separate PuppetDB server for all the masters to connect to.\n\nHowever when I then try to set up the secondary compile masters without the CA service, I get an error about {{ssl-crl-path}} being inaccessible:\n\n{code}\nError: Systemd start for puppetserver failed!\njournalctl log for puppetserver:\n-- Logs begin at Thu 2019-06-06 19:10:37 BST, end at Fri 2019-06-07 11:37:24 BST. --\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]: Exception in thread \"main\" java.lang.IllegalArgumentException: Non-readable path specified for ssl-crl-path option: /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.lang.Reflector.invokeConstructor(Reflector.java:305)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27083$get_ssl_crl_path_BANG___27088$fn__27089.invoke(jetty9_config.clj:326)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27083$get_ssl_crl_path_BANG___27088.invoke(jetty9_config.clj:319)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27257$maybe_get_https_connector__27262$fn__27263.invoke(jetty9_config.clj:399)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27257$maybe_get_https_connector__27262.invoke(jetty9_config.clj:386)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27308$maybe_add_https_connector__27313$fn__27314.invoke(jetty9_config.clj:415)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27308$maybe_add_https_connector__27313.invoke(jetty9_config.clj:411)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27334$process_config__27339$fn__27340.invoke(jetty9_config.clj:436)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_config$fn__27334$process_config__27339.invoke(jetty9_config.clj:431)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28437$create_webserver__28442$fn__28443.invoke(jetty9_core.clj:655)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28437$create_webserver__28442.invoke(jetty9_core.clj:613)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28466$start_webserver_BANG___28471$fn__28472.invoke(jetty9_core.clj:693)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28466$start_webserver_BANG___28471.invoke(jetty9_core.clj:688)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$start_server_single_default.invokeStatic(jetty9_core.clj:940)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$start_server_single_default.invoke(jetty9_core.clj:937)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28919$start_BANG___28924$fn__28925.invoke(jetty9_core.clj:1037)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_core$fn__28919$start_BANG___28924.invoke(jetty9_core.clj:1032)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services.webserver.jetty9_service$reify__29314$service_fnk__4991__auto___positional$reify__29321.start(jetty9_service.clj:53)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services$fn__4828$G__4809__4831.invoke(services.clj:9)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.services$fn__4828$G__4808__4835.invoke(services.clj:9)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13553$run_lifecycle_fn_BANG___13560$fn__13561.invoke(internal.clj:198)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13553$run_lifecycle_fn_BANG___13560.invoke(internal.clj:181)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13582$run_lifecycle_fns__13587$fn__13588.invoke(internal.clj:231)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13582$run_lifecycle_fns__13587.invoke(internal.clj:208)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__14155$build_app_STAR___14164$fn$reify__14176.start(internal.clj:586)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__14203$boot_services_for_app_STAR__STAR___14210$fn__14211$fn__14213.invoke(internal.clj:612)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__14203$boot_services_for_app_STAR__STAR___14210$fn__14211.invoke(internal.clj:610)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__14203$boot_services_for_app_STAR__STAR___14210.invoke(internal.clj:604)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core$partial$fn__5826.invoke(core.clj:2630)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13627$initialize_lifecycle_worker__13638$fn__13639$fn__13789$state_machine__10791__auto____13814$fn__13817.invoke(internal.clj:251)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at puppetlabs.trapperkeeper.internal$fn__13627$initialize_lifecycle_worker__13638$fn__13639$fn__13789$state_machine__10791__auto____13814.invoke(internal.clj:251)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:973)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:972)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:977)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:975)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async$ioc_alts_BANG_$fn__11006.invoke(async.clj:384)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async$do_alts$fn__10946$fn__10949.invoke(async.clj:253)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.core.async.impl.channels.ManyToManyChannel$fn__6246$fn__6247.invoke(channels.clj:95)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at clojure.lang.AFn.run(AFn.java:22)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\nJun 07 11:32:49 puppet2.dev-chrisb.zcode.net puppetserver[22791]:         at java.lang.Thread.run(Thread.java:748)\nJun 07 11:32:50 puppet2.dev-chrisb.zcode.net systemd[1]: puppetserver.service: Control process exited, code=exited status=1\nJun 07 11:32:50 puppet2.dev-chrisb.zcode.net systemd[1]: Failed to start puppetserver Service.\nJun 07 11:32:50 puppet2.dev-chrisb.zcode.net systemd[1]: puppetserver.service: Unit entered failed state.\n{code}\n\nI have disabled the CA service on this host as described [here|https://puppet.com/docs/puppetserver/6.3/configuration.html#service-bootstrapping]\n\nNote that {{ssl-crl-path}} is not defined anywhere in the Puppet server's configuration, so it looks like this is a default value? It looks like the default doesn't cope with the CA service being disabled and/or there's something vital missing from the documentation on how to set up compile masters (or I somehow missed it).\n\n\n*Edited to add:*\n\nI was able to get the server to work by specifying the paths to the SSL files downloaded by puppet-agent in {{/etc/puppetlabs/puppetserver/conf.d/webserver.conf}}\n\n{code}\nwebserver: {\n    access-log-config: /etc/puppetlabs/puppetserver/request-logging.xml\n    client-auth: want\n    ssl-host: 0.0.0.0\n    ssl-port: 8140\n    ssl-cert: /etc/puppetlabs/puppet/ssl/certs/puppet2.dev-chrisb.zcode.net.pem\n    ssl-ca-cert: /etc/puppetlabs/puppet/ssl/certs/ca.pem\n    ssl-key: /etc/puppetlabs/puppet/ssl/private_keys/puppet2.dev-chrisb.zcode.net.pem\n    ssl-crl-path: /etc/puppetlabs/puppet/ssl/crl.pem\n}\n{code}\n\nIf this is required when setting up compile masters it should probably be mentioned in the docs, although ideally the defaults would just work\u2026", "epicLinkSummary": "Improve CRL Management", "estimate": "PT0S", "externalId": "17553", "fixedVersions": ["SERVER 6.15.3", "SERVER 7.1.0"], "id": "17553", "issueType": "Bug", "key": "SERVER-2558", "labels": [], "originalEstimate": "PT0S", "parent": "16586", "parentSummary": "Improve CRL Management", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:88b7bd93-d432-4423-aaca-d0fdc06c4004", "resolution": "Fixed", "resolutionDate": "2021-02-24T08:21:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Attempting to start a compile master fails with CRL error", "timeSpent": "PT0S", "updated": "2021-02-24T08:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The puppet_metrics_dashboard module can configure Telegraf to collect metrics from Puppet Server and ship them to InfluxDB:\n\nhttps://forge.puppet.com/puppetlabs/puppet_metrics_dashboard", "created": "2019-06-07T15:32:00.000000"}, {"author": "61ba0348acc926006a06fc59", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]\u00a0Thx, this works for me", "created": "2019-06-11T02:29:00.000000"}], "components": ["Performance", "Puppet Server"], "created": "2019-06-05T15:09:00.000000", "creator": "61ba0348acc926006a06fc59", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6563884b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzuzbj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_472833427_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version:* N/A\n *Puppet Server Version:* All Future Versions\n *OS Name/Version:* All\n\n*Desired Behavior:*\n\nCurrently Puppet Server metrics can only be send to Graphite, please add InfluxDB support\n\n\u00a0\n\nI discussed this with [~accountid:557058:68216498-c6bf-4e8f-92c1-ac84887b7c02] and [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] at Contributor Summit", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15737", "fixedVersions": [], "id": "15737", "issueType": "New Feature", "key": "SERVER-2557", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61ba0348acc926006a06fc59", "resolution": "Fixed", "resolutionDate": "2019-06-11T02:30:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Send Puppet Server metrics to Influx DB", "timeSpent": "PT0S", "updated": "2019-06-11T02:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've never seen that error before. Are you still having issues with this?", "created": "2019-10-02T17:15:00.000000"}, {"author": "623c0af1562ab90069f8afaa", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\n\nI actually am seeing this issue on puppetserver 6.10 when using `curl` or Foreman API to do a `revoke", "created": "2019-11-08T17:05:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "That seems plausible. In Puppet Server 6.7.0 (which corresponds with Puppet 6.10), we added some code that syncronized writes to the CRL, so that corruption isn't permanent, but we still do not do atomic writes. https://puppet.atlassian.net/browse/SERVER-2565 tracks the work for fixing that.", "created": "2019-11-08T17:18:00.000000"}, {"author": "623c0af1562ab90069f8afaa", "body": "Ah you're right, my mistake.\u00a0 We're puppetserver 6.7.1 with puppet-agent 6.10.1.\n\nI figured it had a likelihood of being related to large CRL as we have almost 2000 nodes with another 768 on the way that will be attached to it early in the new year.\u00a0 ~94% of them are stateless(full reinstall every reboot), so when I started out I didn't have a method prepared to store their certs securely for being acquired and decrypted upon reboot which was causing us to revoke and re-issue certificates a lot(not ideal but limited timeframe)\n\nI'll keep a watch on that ticket in hopes that it might fix the issue.\n\n\u00a0\n\nThanks Maggie.", "created": "2019-11-08T17:37:00.000000"}], "components": ["API"], "created": "2019-05-24T16:53:00.000000", "creator": "623a46ab94742a00683d6f7b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@29837ffd"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzust3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13306916258_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.0*\n *Puppet Server Version:**5.5.0***\n *OS Name/Version:*\n\nRed Hat Enterprise Linux Server release 6.10 \nWe upgraded to puppet 5.5.0 recently, so far it's working fine but we see lots of issue with SSL certs. Currently, we are using self-signed certs ( I know that's not the best way to handle certs and we do have plans to move away from self-signed certs)\u00a0\n\u00a0\nWe using below API's to delete/revoke certs.\u00a0\n[https://puppet.com/docs/puppet/5.5/http_api/http_certificate_status.html]\n\u00a0\n\u00a0\nI see that sometimes it fails with the following error.\u00a0Please note I am using below DELETE\u00a0 API.\u00a0\u00a0\n\u00a0\nDELETE /puppet-ca/v1/certificate_status/:hostname?environment=:environment\n\u00a0\n\u00a0\nError:\ndelete_host: libcurl error 35 (SSL connect error): SSL peer had some unspecified issue with the certificate it received.\"\n\u00a0\n\u00a0\nDoes anyone encounter this error?\u00a0 It looks like a bug to me. I hit it a few times and It's intermittent.\u00a0 Next time if I do , it works\n\u00a0\nThis is what defined in our\n\u00a0\n\ncat /etc/puppetlabs/puppetserver/conf.d/auth.conf \n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 # Allow all nodes to access the certificate revocation list\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 match-request: {\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 path: \"/puppet-ca/v1/certificate_status\"\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 type: path\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 method: [get, put, delete]\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 allow: \"Puppetmastercert\"\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 sort-order: 500\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 name: \"puppetlabs certification status\"\n\n\u00a0 \u00a0 \u00a0 \u00a0 },\n\n*Desired Behavior:*\n\nIt should clear the client certs but sometimes it doesn't\n\n*Actual Behavior:*\n\nIt should clear the client certs but sometimes it doesn't. If I run the same curl Next time, it does.**\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14809", "fixedVersions": [], "id": "14809", "issueType": "Bug", "key": "SERVER-2553", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a46ab94742a00683d6f7b", "resolution": "Cannot Reproduce", "resolutionDate": "2019-10-25T17:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "PUT/DELETE API ERROR", "timeSpent": "PT0S", "updated": "2019-11-08T17:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Certificate Authority"], "created": "2019-05-24T16:05:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@505b8b56"}, {"fieldName": "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": "SERVER-2548"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsu9z:"}, {"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": "The {{puppetserver ca import}} command will now initialize an empty CRL for the intermediate CA if one is not provided in the {{crl-chain}} file."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_361006_*|*_10007_*:*_1_*:*_509858065_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4210646482_*|*_10005_*:*_1_*:*_2797931163"}], "description": "Setting Puppet Server up to operate an intermediate CA that is issued by an external CA requires supplying the {{puppetserver ca import}} command with a complete chain of certificates and certificate revocation lists for the intermediate CA and the external CA that signed it. The external CA can provide the certificates and some of the certificate revocation lists, but generating a revocation list for the intermediate CA operated by Puppet Server requires access to the private key used by Puppet Server. Most external CAs will be incapable of providing this revocation list as transporting the private key between nodes is against best practices.\n\nTherefore, the {{puppetserver ca import}} command should initialize an empty CRL for Puppet's intermediate CA if it detects one has not been provided in the crl chain from the external root.", "epicLinkSummary": "Improve CA Import", "estimate": "PT0S", "externalId": "17120", "fixedVersions": ["SERVER 5.3.10", "SERVER 6.3.2", "SERVER 6.6.0"], "id": "17120", "issueType": "Improvement", "key": "SERVER-2552", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": "15460", "parentSummary": "Improve CA Import", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Done", "resolutionDate": "2019-08-19T16:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The puppetserver ca import command should initialize a CRL for the intermediate CA", "timeSpent": "PT0S", "updated": "2019-09-12T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I definitely think the API should return the date in addition to any other flagging. Maybe we should start with just the date and add a flag later if we have a reason to (e.g. FOSS users want it to integrate against)?", "created": "2020-06-15T15:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Updated the description to reflect discussion with our Console folks.", "created": "2020-06-15T15:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm going to make a new endpoint for this under the {{puppet-ca}} URL. That gives us flexibility for authorization.", "created": "2020-07-20T14:18:00.000000"}], "components": ["Certificate Authority"], "created": "2019-05-24T15:32:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3cf08cc2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbi"}, {"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": "Added a new endpoint `/puppet-ca/v1/expirations` that returns the \"not-after\" date for each certificate in the CA bundle, as well as the \"next-update\" date of each CRL in the chain, keyed by common name. The endpoint requires authentication."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337139118_*|*_1_*:*_1_*:*_2377463_*|*_10007_*:*_1_*:*_97551929_*|*_3_*:*_1_*:*_687399111_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_14514388669_*|*_10005_*:*_2_*:*_21501369463"}], "description": "When running the Puppet CA as a subordinate of an external root, the revocation lists and certificates that make up the external CA chain must be kept up to date. Most external CAs operate with a short interval between CRL updates. For example, Active Directory Certificate Services defaults to publishing new CRLs on a one-week cadence. If an externally published CRL expires or CA certificate expires, then certificate validation within the Puppet infrastructure will fail.\n\nIn order to alert operators to the impending expiration of a CA certificate or CRL entry, the Puppet Server status API should include these dates in its output. Then consumers of the API can flag certs visibly to administrators. If there is demand, we can add a separate flag to warn users in the API output itself.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16078", "fixedVersions": ["SERVER 6.13.0"], "id": "16078", "issueType": "Improvement", "key": "SERVER-2551", "labels": ["ondeck1"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Done", "resolutionDate": "2020-07-27T12:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The Puppetser Server status endpoint should include CA and CRL expiration dates", "timeSpent": "PT0S", "updated": "2022-02-25T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I like this way of approaching the problem. We should try to get this in soonish.", "created": "2020-02-20T14:56:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The main advantage to doing this sort of update through an API update is that it can be serialized with respect to other CA activity that may be occurring concurrently. E.g. revoking Puppet agent certificates, which updates the intermediate CA CRL, concurrently with updating the CRL from an external root CA.", "created": "2020-02-20T15:42:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Will start a google doc with some background information as a place to start team discussion about this implementation. ", "created": "2021-01-22T12:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is the Google Doc with technical background: https://docs.google.com/document/d/1ips9HUcFwlLe_pDKRWPFSieCm6nYhgpc6hOeMkxQ5uo/edit", "created": "2021-01-29T12:33:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Will use this ticket as a story and create sub-tasks to individually groom and point next week.", "created": "2021-02-05T12:21:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "We should add a task to document this.", "created": "2021-02-19T12:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] do you think customers are going to want this exposed via the CLI too, or is an API endpoint sufficient?", "created": "2021-02-19T12:18:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I think the API would be sufficient for now. A CLI that accepted a CRL file and then submitted it to the API would be convenient --- however, I suspect most folks will be writing some sort of script that is fetching CRL updates in a manner dictated by their external CA infrastructure. At that point, the convenience is diminished because you've already got a script making the fetch that could turn around and make the POST to the API. ", "created": "2021-02-23T10:11:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Open question: What is the desired behavior when an incoming CRL revokes our intermediate CA cert?", "created": "2021-04-29T14:36:00.000000"}, {"author": "611123f06051c5006a3685ec", "body": "I would think if the CA cert was expired in the CRL you would cease operations.\u00a0 Obviously this would make puppet error everywhere until resolved, but that would be the behavior I would expect.\u00a0 If the CA cert is revoked all the certs it has signed should also be revoked.", "created": "2021-04-30T04:29:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "The desired behavior should be \"nothing magic\".\n\nIf an incoming CRL revokes the intermediate CA Puppet Server uses to sign certs, that should NOT result in any drastic triggered effects. X.509 PKI doesn't require additional cascading revocations in order for revocation semantics to work correctly. If an error was made, triggering additional SSL actions is only going to make it harder to unwind.\n\nAt most, it may be acceptable to disable the signing of new certificates using a revoked intermediate CA. This would be helpful to the user as it may make the error state more visible than receiving a useless \"signed\" cert.", "created": "2021-04-30T10:29:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I think the API should reject any update that causes the CA chain (external root to Puppet signing CA) to fail validation in order to guard against changes that would cause an outage of Puppet services.\n\nIf the primary Puppet server has been compromised in a way that requires its CA certificate to be revoked, then using the API is an improper way to go about it as a compromised service can not be relied upon to let the agents know it has been compromised. ", "created": "2021-04-30T14:41:00.000000"}], "components": ["Certificate Authority"], "created": "2019-05-24T15:24:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@119c8456"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "7500.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2712"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o070dj:i"}, {"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": "Added a new API endpoint `PUT /puppet-ca/v1/certificate_revocation_list` that accepts a list of CRL PEMs as a body, and updates the matching CRLs saved on disk if the submitted ones have a higher CRL number than their counterparts on disk. Cannot be used to update the CRL associated with the Puppet CA signing cert (just earlier ones in the cert chain). This is for use by customers treating the Puppet CA as an intermediate signing CA for their corporate PKI, whose CRLs require frequent updating."}, {"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": "20/Feb/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_300810039_*|*_1_*:*_1_*:*_2845308_*|*_10007_*:*_1_*:*_108722105_*|*_3_*:*_2_*:*_5068795460_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_6553983802_*|*_10005_*:*_1_*:*_51326927168"}], "description": "When running the Puppet CA as a subordinate of an external root, the revocation lists published by the external CA chain must be kept up to date. Most upstream CAs operate with a short interval between CRL updates. For example, Active Directory Certificate Services defaults to publishing new CRLs on a one-week cadence. If an externally published CRL expires, then certificate validation within the Puppet infrastructure will fail.\n\nIn order to facilitate updates of external CRLs, the Puppet CA API should accept revocation list uploads and handle the details of adding them to the right ca_crl and infrastructure_crl files along with distribution to other Puppet components. Providing an API for this yields some important benefits:\n\n  - Locating and retrieving an updated CRL from a distribution point can involve several finicky details around protocols and credentials used to access the update. Adding a CRL update API allows this complextity to be delegated to an external script that runs as a scheduled task or cron job.\n\n  - Adding an API endpoint allows Puppet Server to appropriately serialize updates to its on-disk CRL files with respect to concurrent revocation activity around Puppet agent certificates. This addresses the potential for CRL file corruption that would occur if an external update process wrote directly to the files.\n\n  - Logging around CRL refresh activity is written to the Puppet Server access log in an easily parsed format.\n\n\n*Acceptance criteria:*\n* HTTPS endpoint in the [puppet-ca/v1|https://github.com/puppetlabs/puppetserver/blob/9cb1073394f22ad14487992d3af34ca33e0b3b5e/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L373] API that receives a POST to consume CRL updates on the /certificate_revocation_list resource.\n* Should use the same tk-auth rules as the existing CA admin endpoints.\n* Writes a new [CRL file|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L467] (given chain + local CA CRL) to be used by the server & CA. All uses should be satisfied by writing the CRLs to disk at the location the CA writes it during revocations.\n** Including the [infra-crl|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1521-L1533] pem.\n* Should not cause race conditions with existing revocations (utilizes existing CRL [write lock|https://github.com/puppetlabs/puppetserver/blob/6.x/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L346]).\n* Logs that it has received CRLs and updated the CRL file at INFO level.\n\n*Docs:* see DOC-4999\n* Add details based on the API decisions made in SERVER-2961. Docs for the existing {{certificate_revocation_list}} endpoint: https://github.com/puppetlabs/osp-docs/blob/latest-preview/server/http_certificate_revocation_list.md\n* Document how to use the new CRL update endpoint as part of the \"how to setup an intermediate CA\" documentation.  ", "epicLinkSummary": "Improve CRL Management", "estimate": "PT0S", "externalId": "15462", "fixedVersions": ["SERVER 6.16.0", "SERVER 7.2.0"], "id": "15462", "issueType": "New Feature", "key": "SERVER-2550", "labels": ["doc_reviewed", "DOCS"], "originalEstimate": "PT0S", "parent": "16586", "parentSummary": "Improve CRL Management", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Done", "resolutionDate": "2021-05-26T23:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The CA API should accept CRL updates", "timeSpent": "PT0S", "updated": "2021-06-22T10:25:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm not sure where this belongs. The [docs|https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/action/generate.rb#L31-L46] for {{generate}} currently clearly state that it is for generating certs signed by the CA managed by the tool. We could make that more general (which might not be great given how long it's already been out in the world) or we could add a new action, but I'm not sure what we would call it, nor if there are other potential use cases (creating other artifacts and bits of the system, e.g. SERVER-2346) that it should also cover.", "created": "2019-06-12T11:25:00.000000"}, {"author": "557058:abebd3bd-9c06-4ec8-ae7e-1932482e576f", "body": "It seems to me that extending {{generate}} to support this would be confusing because it's a pretty different use-case. If we wanted to extend an existing command, it might make more sense to extend {{setup}} instead. Otherwise, I think a separate command for issuing intermediate CA CSRs makes more sense. Then for SERVER-2346, we might want to use {{generate}} if we're generating a signed certificate or the new command if we're only issuing a CSR.", "created": "2019-06-12T11:55:00.000000"}], "components": ["Certificate Authority"], "created": "2019-05-24T12:54: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@10a6d6d4"}, {"fieldName": "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": "SERVER-2548"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsu9j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jun/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_65771_*|*_3_*:*_1_*:*_3386336299_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1715721745_*|*_10005_*:*_2_*:*_82938282011"}], "description": "When users want to use the {{import}} command to set up their CA chaining back to their org's root CA, we ask them to create a key and CA cert for Puppet, as well as a CRL. We don't provide any detailed instruction for this due to platform differences. However, we should be able to provide a CLI that generates these artifacts for them in Ruby, since that is what we would be doing if we were setting up the whole CA for them.\n\nWe should add a command to the {{puppetserver ca}} CLI that generates and key and CSR for the Puppet CA, which can be signed by an org's CA. The resulting cert can be used with the {{import}} command as part of the cert bundle.", "epicLinkSummary": "Improve CA Import", "estimate": "PT0S", "externalId": "16262", "fixedVersions": [], "id": "16262", "issueType": "Task", "key": "SERVER-2549", "labels": [], "originalEstimate": "PT0S", "parent": "15460", "parentSummary": "Improve CA Import", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add command for creating a CSR for the Puppet CA", "timeSpent": "PT0S", "updated": "2022-03-08T11:34:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Certificate Authority"], "created": "2019-05-24T12:33:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@338843f8"}, {"fieldName": "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": "Improve CA Import"}, {"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": "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|hzqvwc:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_88041644811_*|*_6_*:*_1_*:*_0"}], "description": "As customers have started to use our new tooling designed to facilitate setting up Puppet's CA as intermediate with an external root, a number of issues have cropped up, mostly quality of life, but also bugs. This epic tracks the work to clean it up.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15460", "fixedVersions": [], "id": "15460", "issueType": "Epic", "key": "SERVER-2548", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve CA Import", "timeSpent": "PT0S", "updated": "2022-08-24T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "First issue I'm hitting is that the PuppetDB module won't install under FIPS. I'm trying to figure out if beaker has a way of detecting that we're running in FIPS, because currently PDB install is skipped based on platform name, but we just use el7 for FIPS too, and make no distinction.", "created": "2019-07-12T15:07:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Three related PRs for this:\nBeaker: https://github.com/puppetlabs/beaker/pull/1592\nPuppet: https://github.com/puppetlabs/puppet/pull/7616\nPuppetserver: https://github.com/puppetlabs/puppetserver/pull/2122\n\nThe puppetserver should be merged last, and once all three are in and promoted, we can add the redhatfips target to ci-job-configs.", "created": "2019-07-17T17:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Filed https://puppet.atlassian.net/browse/SERVER-2596 about re-enabling the tests using {{puppet module}} once that tool is fixed.", "created": "2019-07-18T09:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The PR skipping tests has yet to be merged, but the PMT has already been fixed. I'll re-evaluate once that code becomes available to test against. We may not need the puppetserver PR.", "created": "2019-07-23T15:49:00.000000"}], "components": [], "created": "2019-05-23T16:30:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4355f245"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke1r:"}, {"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": "RedHat 7 FIPS mode packages are now available for puppetserver."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_339247144_*|*_1_*:*_1_*:*_66298998_*|*_10007_*:*_1_*:*_1039200418_*|*_3_*:*_2_*:*_260342967_*|*_5_*:*_1_*:*_38525739442_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_4420566264"}], "description": "Add redhatfips-7-x86_64 to [puppetserver test matrices in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml].\nDisable {{puppetserver gem}} test(s) since they do not work in fips.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15736", "fixedVersions": ["SERVER 6.6.0"], "id": "15736", "issueType": "Task", "key": "SERVER-2555", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2019-08-02T14:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable redhatfips-7-x86_64 test pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2020-11-13T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We already have the right versions of ezbake and beaker-hostgenerator in the puppetserver#master branch. The package build succeeded when triggering ezbake locally, package is http://builds.delivery.puppetlabs.net/puppetserver/6.4.1.SNAPSHOT.2019.07.12T1140/artifacts/redhatfips/7/puppet6/x86_64/.\n\nI've put up the ci-job-configs PR so we can start building this in our pipelines.", "created": "2019-07-12T14:09:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I didn't run into any issues with gem, do we expect that to start failing once we are actually pulling in bouncy-castle? /cc [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "created": "2019-07-12T14:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yes. gem will fail when using fips bc. In our build scripts where we pull down those gems we should probably create a non-fips profile to use.", "created": "2019-07-12T14:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think how we solve the gem issue will depend on how we end up switching in the bouncy-castle jar. We should be aware that this will start failing when we start using BC, but I don't think that should block starting to build packages for the platform (as this will help enable further PE testing).", "created": "2019-07-12T15:06:00.000000"}], "components": [], "created": "2019-05-23T16:30:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@32b3fe54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke13:"}, {"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": "12/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_231549962_*|*_1_*:*_1_*:*_66287106_*|*_10007_*:*_1_*:*_7107548_*|*_3_*:*_1_*:*_9348733_*|*_5_*:*_1_*:*_40097704709_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4239409755"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetserver for redhatfips-7-x86_64\n* Add redhatfips-7-x86_64 to [puppetserver's packaging settings in ci-job-configs|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L84-L93]\n* We will probably need to specify a foss bouncycastle based gem command during build time when building fips packages [here|https://github.com/puppetlabs/puppetserver/blob/master/resources/ext/build-scripts/install-vendored-gems.sh#L26] (gem doesn't work with fips).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15459", "fixedVersions": ["SERVER 6.5.0"], "id": "15459", "issueType": "Task", "key": "SERVER-2554", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Done", "resolutionDate": "2019-07-15T09:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable redhatfips-7-x86_64 builds for puppetserver", "timeSpent": "PT0S", "updated": "2020-11-13T16:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] just making sure this ticket is on your team's radar - if there's nothing you need to do for this feel free to close", "created": "2019-08-16T12:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It is, we still need to do something to turn this on, but I'm waiting for the resolution of SERVER-2019 before flipping this on, because until then the server won't start, so our pipelines will be blocked.", "created": "2019-08-16T12:52:00.000000"}, {"author": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "body": "(y)\u00a0sounds good!", "created": "2019-08-16T14:03:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This is now also blocked until jar-jar is able to incorporate all the clj-parent bumps.", "created": "2019-08-27T16:52:00.000000"}], "components": [], "created": "2019-05-23T16:29:00.000000", "creator": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@728d24c3"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke5j:"}, {"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": "16/Aug/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_324476290_*|*_1_*:*_1_*:*_5443875512_*|*_10007_*:*_1_*:*_621360_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6560306982"}], "description": "Test pe-puppetserver for redhatfips-7-x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15735", "fixedVersions": ["None"], "id": "15735", "issueType": "Task", "key": "SERVER-2547", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9e548bcc-dbc3-4c04-a047-0344921dbb97", "resolution": "Fixed", "resolutionDate": "2019-10-13T09:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Test pe-puppetserver for redhatfips-7-x86_64", "timeSpent": "PT0S", "updated": "2019-10-13T09:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623a4ceda1d81f0069d8127c", "created": "2019-08-12T13:37:00.000000", "name": "Justin Stoller.url", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11052"}, {"attacher": "rk:3ef31772-c969-47a2-abb6-18adce96ed12", "created": "2019-05-23T12:41:00.000000", "name": "error.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10887"}], "comments": [{"author": "623e768c4a57610068e883dd", "body": "More information:\n\nThe exception is invoked by following code in `ruby/puppet/lib/puppet/feature/base.rb:19`\n\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 .....\n\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 10 # We can use POSIX user functions\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11 Puppet.features.add(:posix) do\n\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 12 require 'etc'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 13 !Etc.getpwuid(0).nil? && Puppet.features.syslog?\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 14 end\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 15\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16 # We can use Microsoft Windows functions\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 17 Puppet.features.add(:microsoft_windows) \\{ Puppet::Util::Platform.windows? }\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 18\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 19 raise Puppet::Error,_(\"Cannot determine basic system flavour\") unless\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Puppet.features.posix? or Puppet.features.microsoft_windows?\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 20\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ....\n\nBy inserting `puts` into line #12 -14, I got the following values\n\nOn s390x:\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"Etc.getpwuid(0)\" is empty, \"Etc.getpwuid(0).nil\" == true", "created": "2019-05-28T08:06:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Can you run an agent on this host?\n\nPuppet's Ruby runtime needs to be able to find the root user and load a syslog library. The {{Etc.getpwuid(0)}} call checks for the root user, you can do the equivalent of {{Puppet.features.syslog?}} by doing {{require 'syslog'}} in a Ruby REPL.\n\nIf you run {{/opt/puppetlabs/puppet/bin/irb}} it will open a Ruby REPL with the Ruby runtime that the agent uses. If you run {{/opt/puppetlabs/bin/puppetserver irb}} it will open a Ruby REPL with the Ruby runtime that the server uses (which is what is failing on you). From either of those you can run the two commands above: {{require 'etc'", "created": "2019-05-30T17:36:00.000000"}, {"author": "623e768c4a57610068e883dd", "body": "Thank [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\n\nI am in \"root\".\n After installing \"ruby\" , I can start \"irb\" and it outputs:\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # irb\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 irb(main):001:0> require 'etc'\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 => true\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 irb(main):002:0> Etc.getpwuid(0)\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 => #<struct Etc::Passwd name=\"root\", passwd=\"x\", uid=0, gid=0, gecos=\"root\", dir=\"/root\", shell=\"/bin/bash\">\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 irb(main):003:0> require 'syslog'\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 => true\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 irb(main):004:0>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 root@csz25188:/home/puppetserver# irb -v\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 irb 0.9.6(09/06/30)\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # ruby -v\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ruby 2.3.1p112 (2016-04-26)\u00a0[s390x-linux-gnu]\n\nIt seems that running \"irb\" separately, I get the same result as on the x86_64.\n\nBTW, note that I am running from the source code:\u00a0 https://github.com/puppetlabs/puppetserver/blob/master/documentation/dev_running_from_source.markdown,\n\nfor running agent, get the same output as x86_64:\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 root@csz25155:/home/puppetserver# export RUBYLIB=./ruby/puppet/lib:./ruby/facter/lib\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 root@csz25155:/home/puppetserver# export PATH=./ruby/puppet/bin:./ruby/facter/bin:$PATH\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 root@csz25155:/home/puppetserver# puppet agent -t\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cannot load such file \u2013 semantic_puppet\n\nSo even on x86_64, I cannot get \"agent\" to start", "created": "2019-05-31T10:33:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "So, we don't have plans to officially support s390x as a master platform anytime soon. Though, we'd be happy to work with you and help you get any patches you'd like to champion merged, if that's what's required.\n\n\u00a0\n\nHowever, I think this is less a targeted, single issue that's workable in a ticket, than it is some thing that would be useful talking through in a more synchronous format with folks that have similar experience bootstrapping Puppet on community supported platforms. I think that going to the #puppet channel in the Puppet Community Slack ([https://slack.puppet.com/]) and posting your issues there is going to be the best way to resolve your issues.\n\n\u00a0", "created": "2019-05-31T11:31:00.000000"}, {"author": "623e768c4a57610068e883dd", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] \nThank you for your help. \nWe would like to figure out a solution and need\u00a0 help on the problem scope and advice/hint on possible code patches.\u00a0\n\nI will move to slack. \nBTW, I tested on Power, on which the same issue happens.", "created": "2019-05-31T12:23:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey, Sam. I remember the conversation went to Slack, though I don't remember the outcome. Did you get want you needed? Is there something more that needs to be done here?", "created": "2019-08-12T12:35:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "For business request, we need to port PuppetServer to S390x.\n1) Tried the latest release version (v6.5.0) following the instruction ([https://github.com/puppetlabs/puppetserver/blob/master/documentation/dev_running_from_source.markdown])\nit is ok to build puppetserver\n(./dev-setup), but it gets an error/exception when starting it by $ `lein run -c\u00a0 dev/puppetserver.conf `, it gets the same error as the previous version:\n\"\n\u00a0 \u00a0 2019-08-06 11:24:53,313 DEBUG [clojure-agent-send-pool-0] [p.s.j.i.jruby-agents] Priming\u00a0 JRubyInstance 1 of 1\n\u00a0 \u00a0 2019-08-06 11:24:53,314 INFO\u00a0 [clojure-agent-send-pool-0] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.\n\u00a0 \u00a0 Puppet::Error: Cannot determine basic system flavour\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <main> at /home/puppetserver/ruby/puppet/lib/puppet/feature/base.rb:19\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 require at org/jruby/RubyKernel.java:970\n\"\n2) As\u00a0\u00a0jruby (v9.2) is a dependent package of puppetserver, I already made jruby (v9.2.7.0) work\u00a0 on s390x by adding jffi lib \"libjffi-1.2.so\" of s390x into the jruby package.\nHowever, checking the\u00a0 downloaded jruby jars after running \"dev-setup\" (in /root/.m2/repository/org/jruby) , found a few jars :\n\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/extras/bytelist/1.0.15/bytelist-1.0.15.jar\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/jruby-stdlib/9.2.0.0/jruby-stdlib-9.2.0.0.jar\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/joni/joni/2.1.16/joni-2.1.16.jar\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/dirgra/0.3/dirgra-0.3.jar\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/jruby-core/9.2.0.0/jruby-core-9.2.0.0.jar\n\u00a0 \u00a0\u00a0 /root/.m2/repository/org/jruby/jcodings/jcodings/1.0.30/jcodings-1.0.30.jar\n\nThere are no jars that include\u00a0 \"libjffi-1.2.so\" for x86_64 or other platforms.\nBy the way, here the jars of jruby is totally different with the jars from the jruby official download site ({{[https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.2.7.0/jruby-complete-9.2.7.0.jar]}})\n\n\n\n\nSo here are my questions:\n1) How to replace the download\u00a0 jars as the above with the jruby official website? and make sure the jruby of puppetserver is workable without\u00a0{color:#333333}\"libjffi-1.2.so\"{color}?\n2) If the above error of puppetserver on s390x is not related to jruby, how can I look into further?\nCan you give me guidance or advice\u00a0 on what part of code I need to check?\n\n\u00a0", "created": "2019-08-12T12:41:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\n Hi Justin, \u00a0\n\nI come back for this issue now. \n As you mentioned the jruby is necessary for PuppetServer, I have made it work on s390x.\u00a0 However I still get the same error/exception when starting it.\n see (\u00a0https://puppet.atlassian.net/browse/SERVER-2545?focusedCommentId=676846&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-676846),\u00a0 I observed new facts and sent my inquiry a week ago to the slack channel, however, no one responded.\u00a0\n So I tried to repost here to get you developers attention.\u00a0\n I appreciate it if you developers can review and give us some high level guidance .\n\n\u00a0\n\nBy the way, the slack puppet channel updates very quickly and I cannot retrieve the msgs that were posted around May and June.\n\n\u00a0\n\nThanks,", "created": "2019-08-12T13:38:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "If I recall correctly we don't pull in the whole JRuby bundle because we need to pull JRuby and its individual libraries in so we can selectively exclude a couple. Specifically JRuby vendors bouncycastle within it, which will conflict with the version of bouncycastle that we use. You may want to try [jruby-deps|https://github.com/puppetlabs/jruby-deps] which is our how we package up those JRuby bits.\n\nYou may also want to read through SERVER-14, which revolved around getting Server to work on OpenBSD. I don't really know how successful it ever was, but it did involve working with the jffi maintainers to add an OpenBSD build of jffi, you see the result of that in this [PR|https://github.com/jnr/jffi/pull/43]. It looks like there's a binary for Linux on s390x but it is also 8 years old, you may need to recompile it for yourself.", "created": "2019-08-13T23:27:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Thank you Justin,\n\nI have build\u00a0{color:#333333}\"{color}{color:#333333}libjffi-1.2.so{color}{color:#333333}\"{color} for s390x.\u00a0\nAfter check the all download jars after building puppetserver (by .\\dev-setup), I found that a jar\u00a0\n\n\u00a0 \u00a0/root/.m2/repository/com/github/jnr/jffi/1.2.17/jffi-1.2.17-native.jar\nincludes \"libjffi-1.2.so\" for all platforms except s390x. So I add it of s390x into the jar, like:\n\n\u00a0 \u00a0Archive:\u00a0 /root/.m2/repository/com/github/jnr/jffi/1.2.17/jffi-1.2.17-native.jar\n\u00a0 Length\u00a0\u00a0\u00a0\u00a0\u00a0 Date\u00a0\u00a0\u00a0 Time\u00a0\u00a0\u00a0 Name\n---------\u00a0 ---------- -----\u00a0\u00a0 ----\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0 2019-08-14 12:10\u00a0\u00a0 jni/\n\u00a0\u00a0 169145\u00a0 2018-05-07 19:06\u00a0\u00a0 jni/ppc64-AIX/libjffi-1.2.a\n\u00a0\u00a0\u00a0 83762\u00a0 2012-08-04 04:16\u00a0\u00a0 jni/x86_64-FreeBSD/libjffi-1.2.so\n\u00a0\u00a0\u00a0 55724\u00a0 2012-09-13 21:44\u00a0\u00a0 jni/i386-SunOS/libjffi-1.2.so\n\u00a0\u00a0\u00a0 92947\u00a0 2017-05-16 13:29\u00a0\u00a0 jni/sparcv9-Linux/libjffi-1.2.so\n\u00a0\u00a0 117320\u00a0 2019-08-14 12:10\u00a0\u00a0 jni/s390x-Linux/libjffi-1.2.so \u00a0 \u00a0 \u00a0\u00a0 // for s390x\u00a0\n\u00a0\u00a0\u00a0 94386\u00a0 2016-09-22 09:15\u00a0\u00a0 jni/aarch64-Linux/libjffi-1.2.so\n\u00a0\u00a0 141178\u00a0 2012-09-13 22:02\u00a0\u00a0 jni/x86_64-Windows/jffi-1.2.dll\n\u00a0\u00a0\u00a0 80909\u00a0 2012-09-13 05:04\u00a0\u00a0 jni/i386-Linux/libjffi-1.2.so\n\u00a0\u00a0\u00a0 86363\u00a0 2012-08-13 16:36\u00a0\u00a0 jni/arm-Linux/libjffi-1.2.so\n\u00a0\u00a0 148624\u00a0 2012-09-13 22:43\u00a0\u00a0 jni/Darwin/libjffi-1.2.jnilib\n\u00a0\u00a0 146475\u00a0 2013-03-15 15:30\u00a0\u00a0 jni/ppc-AIX/libjffi-1.2.a\n\u00a0\u00a0 116997\u00a0 2012-09-12 08:41\u00a0\u00a0 jni/i386-Windows/jffi-1.2.dll\n\u00a0\u00a0 509169\u00a0 2016-11-23 08:29\u00a0\u00a0 jni/x86_64-OpenBSD/libjffi-1.2.so\n\u00a0\u00a0 132742\u00a0 2014-11-06 08:59\u00a0\u00a0 jni/ppc64-Linux/libjffi-1.2.so \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // for powerPC\n\u00a0\u00a0\u00a0 63184\u00a0 2012-09-18 10:45\u00a0\u00a0 jni/sparcv9-SunOS/libjffi-1.2.so\n\u00a0\u00a0\u00a0 90382\u00a0 2012-09-13 05:38\u00a0\u00a0 jni/x86_64-Linux/libjffi-1.2.so\n\u00a0\u00a0 116541\u00a0 2014-11-06 06:41\u00a0\u00a0 jni/ppc64le-Linux/libjffi-1.2.so\n\u00a0\u00a0 138344\u00a0 2012-09-13 21:50\u00a0\u00a0 jni/x86_64-SunOS/libjffi-1.2.so\n\u00a0\u00a0\u00a0\u00a0\u00a0 560\u00a0 2018-05-16 10:08\u00a0\u00a0 META-INF/MANIFEST.MF\n---------\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 -------\n\n\nHowever it still gets the error :\"Puppet::Error: Cannot determine basic system flavour\" from\u00a0\n\"/home/puppetserver/ruby/puppet/lib/puppet/feature/base.rb:19\".\u00a0\n\n\nNote the \".so\" of PowerPC\u00a0 is already in this jar, but I got the same error when starting pupperserver on PowerPC platform.\u00a0 \nWonder there is other code that causes this error. \n\n\u00a0As for\u00a0 [jruby-deps|https://github.com/puppetlabs/jruby-deps], there is no instruction to build. How to start build?\n\nAfter I added the s390x\u00a0{color:#333333}\"{color}{color:#333333}libjffi-1.2.so{color}{color:#333333}\"{color} into jruby, the \"irb\" works on s390x.\u00a0\nOn puppetserver, when\u00a0{color:#333333}\"{color}{color:#333333}/home/puppetserver/ruby/puppet/lib/puppet/feature/base.rb:19{color}{color:#333333}\" is running, what executable binary or command is running this code?\n\nThanks,{color}\n\n\u00a0", "created": "2019-08-14T12:17:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "bq. How to start build?\n\nYou'll need the leiningen tool. They have a pretty user friendly website that will help you download the tool. Then you can run `lein uberjar`, or just `lein jar` to create an uberjar/jar as needed.\n\nOnce you get the tests at the start of this ticket to run in irb, then you should be able to get it to run in Puppet Server by making sure Puppet Server's ruby load paths are configured correctly.", "created": "2019-08-14T12:51:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Built\u00a0{color:#333333}\u00a0 {color}[jruby-deps|https://github.com/puppetlabs/jruby-deps] and get 2 jars:\n\n\u00a0 \u00a0 \u00a0 \u00a0 root root 21132496 Aug 14 15:58 jruby-9k.jar\n\u00a0 \u00a0 \u00a0 \u00a0 root root\u00a0\u00a0\u00a0\u00a0 3902 Aug 14 15:58 jruby-deps-9.2.7.0-1.jar\n\ncopied \"{color:#333333}jruby-deps-9.2.7.0-1.jar{color}\" to replace downloaded \"/root/.m2/repository/puppetlabs/jruby-deps/9.2.0.0-1/jruby-deps-9.2.0.0-1.jar\".\nAs for \"jruby-9k.jar\", did not find similar jar in the downloaded files, but find it contains some class files of platform like:\n\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/windows/*.class\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/solaris/*.class\n\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/freebsd/*.class\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/aix/*.class\n\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/fake/*.class\n\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/openbsd/*.class\n\n\u00a0 \u00a0 \u00a0\u00a0jnr/constants/platform/linux/*.class\n\nThere seems no difference of Linux between x64 and s390x.\nHow this\u00a0{color:#333333}jruby-9k.jar{color} is used?\n\n \u00a0 \u00a0 \u00a0\n\n\u00a0 \u00a0 \u00a0\u00a0\n\u00a0\u00a0", "created": "2019-08-14T14:44:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "jruby-9k.jar is used in our enterprise product to switch between JRuby versions on demand. It should be the contents of the jruby-deps project with all of its dependencies as puppetserver expects them and effectively our version of the \"jruby-complete.jar\" excluding the libraries that we bring in via puppet server like bouncycastle. It should be an example of what is being pulled in by JRuby and an example of how jffi does, or doesn't, make its way onto your box.", "created": "2019-08-14T15:29:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Currently pupperserver is woking on x86_64, do you know any other platforms it works?\nDoes it works on\u00a0arm-linux,\u00a0mips-linux\u00a0 and\u00a0sparc-linux?\n\n\n\n\u00a0", "created": "2019-08-15T13:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No, I'm not aware of another architecture it works on, x86 is the only architecture we target for masters. To the extent that I've been helping with this its been in my free time.\n\nThere may be agents that support some of those platforms, however.", "created": "2019-08-15T13:59:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "I try to use the debugging feature after installation by\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/documentation/dev_debugging.markdown#ruby-debug]\n\nbut it gets errors as follows:\n\n\u00a0 \u00a0 $ lein gem -c dev/puppetserver.conf install ruby-debug\n\n\u00a0 \u00a0 .....\n\u00a0 \u00a0\u00a0 ERROR: Invalid option: -c. See 'gem --help'.\n \u00a0\n Is the document out of date or my usage is not correct?\n \u00a0\n Thanks,\n \u00a0\n\n\u00a0", "created": "2019-08-21T13:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah, it looks like the definition of \"lein gem\" changed since then. Here's where it's defined currently: https://github.com/puppetlabs/puppetserver/blob/master/project.clj#L206\n\nSo calling\n{code}\nlein gem install ruby-debug\n{code}\nis the same as calling\n{code}\nlein trampoline run -m puppetlabs.puppetserver.cli.gem --config ./dev/puppetserver.conf --  install ruby-debug\n{code}\n\nAlso, the {{ruby-debug}} part is old as well. It doesn't work with JRuby 9k, so it should only be used when using JRuby 1.7 (Puppet 5.x). For 9k (Puppet 6.x) you should try [pry-nav|https://github.com/nixme/pry-nav]", "created": "2019-08-21T15:47:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "Thank you, Justin\n\nNew observation:\n\nAfter getting error, there is a error report like:\n\u00a0 \u00a0 \u00a0\u00a0Full report at:\n\u00a0 \u00a0 \u00a0 /tmp/clojure-448013101601342975.edn\n\n\nThe file has:\n\n\u00a0 \u00a0 \u00a0 ....\n\n\u00a0 \u00a0 \u00a0 \u00a0\u00a0 [RUBY\n\u00a0 \u00a0 \u00a0 \u00a0 <main>\n\u00a0 \u00a0 \u00a0\u00a0 \"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb\" \u00a0 59]],\n\u00a0\nNote \"{color:#333333}kernel_require.rb{color}\" is in the downloaded jar:\u00a0/root/.m2/repository/org/jruby/jruby-stdlib/9.2.0.0/jruby-stdlib-9.2.0.0.jar.\nI hacked it by adding\u00a0 a line \"59 \u00a0 puts \"++++\" + String(path)\"\n\u00a0 \u00a0 \u00a0 \u00a057\u00a0\u00a0\u00a0\u00a0 if Gem::Specification.unresolved_deps.empty? then\n\u00a0 \u00a0 \u00a0\u00a0 58\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RUBYGEMS_ACTIVATION_MONITOR.exit\n\u00a0 \u00a0 \u00a0\u00a0 59\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 puts \"++++\" +String(path)\n\u00a0 \u00a0 \u00a0\u00a0 60\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return gem_original_require(path)\n\u00a0 \u00a0 \u00a0\u00a0 61\u00a0\u00a0\u00a0\u00a0 end\n\n\nThen re-run puppetserver \"lein run -c dev/puppetserver.conf\" and notice that there are many printouts of \"path\", however, one of them is\u00a0\n\"++++uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/ffi/platform/s390x-linux/syslog.rb\"\nThis does not exist.\nunder \"{color:#333333}platform/s390x-linux{color}\", there is only two files:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0.jrubydir\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0types.conf\nUnder \"platform/x86_64-linux\", there are :\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0errno.rb \u00a0 etc.rb \u00a0 fcntl.rb\u00a0 platform.conf\u00a0 \n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 socket.rb\u00a0 stat.rb\u00a0 sysconf.rb\u00a0 syslog.rb\u00a0 types.conf\u00a0 zlib.rb\n\nEach file has the 1st line like:\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0# This file is generated by rake. Do not edit\nThey are generated by rake.\n\n\n1) To run puppetserver on s390x, the similar 10 files are required", "created": "2019-08-22T10:33:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey, sorry, for the delay. I don't believe we run that rake task when we package up JRuby. I would expect that to be ran by the JRuby devs and committed to the repo, or ran as part of their release process for the jar(s) that we pull in. It might have something to jffi that you were building. This is honestly pretty deep into building a dependency that we largely treat as a black box. I think the JRuby maintainers would be better folks, and if you can confirm you have building JRuby working then we can talk about how to map that to Puppetserver.", "created": "2019-08-26T13:17:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "\u00a0\n\nPuppetserver can be started on s390x-linux if we do :\n\n\n\n1) built \"libjffi-1.2.so\"\u00a0 of s390x and put into jffi-1.2.17-native.jar", "created": "2019-08-29T13:49:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't think so, but I honestly don't know.", "created": "2019-09-01T13:12:00.000000"}, {"author": "623a4ceda1d81f0069d8127c", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\nAs the root issue is in the Jruby,\u00a0 can you close this issue? Thanks,", "created": "2019-11-27T08:11:00.000000"}], "components": [], "created": "2019-05-23T12:42:00.000000", "creator": "623e768c4a57610068e883dd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9c9a24a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzurlb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_16235602100_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: v6.5.0*\n *Puppet Server Version: v6.5.0*\n *OS Name/Version: Ubuntu 16.04 of s390x*\n\nFollowing the instruction:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/documentation/dev_running_from_source.markdown]\n\nIt is successful to build /setup puppetserver by \"./dev-setup\". But when start it by \"lein run\u00a0 -c dev/puppetserver.conf\" , it gets exception as follows:\n\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ...\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 2019-05-23 14:26:10,208 DEBUG [clojure-agent-send-pool-0] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2019-05-23 14:26:10,210 INFO [clojure-agent-send-pool-0] [p.s.j.i.jruby-internal]\u00a0 Creating JRubyInstance with id 1.\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Puppet::Error: Cannot determine basic system flavour\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <main> at /home/puppetserver/ruby/puppet/lib/puppet/feature/base.rb:19\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 require at org/jruby/RubyKernel.java:970\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext /kernel_require.rb:59\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <module:(root)> at /home/puppetserver/ruby/puppet/lib/puppet.rb:1\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <main> at /home/puppetserver/ruby/puppet/lib/puppet.rb:86\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 require at org/jruby/RubyKernel.java:970\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (root) at /home/puppetserver/ruby/puppet/lib/puppet.rb:38\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ...\n\nIt is not the issue of\u00a0 `{{tmp}} directory mounted\u00a0 noexec\\{{`}} as `mount` shows `/tmp` as:\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 /dev/vda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)\n\nAnd it is ok to write to /execute\u00a0 from directory `/tmp`\n\nCan you let me know what the problem is and hint to fix it?\n\nOn x86_64 (Ubuntu 16.04), there is no such issue, it can start with \"lein run -c dev/puppetserver.conf\".\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15064", "fixedVersions": [], "id": "15064", "issueType": "Bug", "key": "SERVER-2545", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e768c4a57610068e883dd", "resolution": "Won't Do", "resolutionDate": "2019-11-27T09:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Start pupperserver from source gets error on linux of s390x", "timeSpent": "PT0S", "updated": "2019-11-27T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Certificate Authority"], "created": "2019-05-23T10:21: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@50b15a53"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzurdb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4081909465_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_84054025195"}], "description": "in SERVER-2523 [~accountid:63d40628f6e1b543161789a7] mentions:\n{quote}For the CA key, I'd assume we can use Java's PKCS#11 provider, which provides a generic interface for accessing private keys on hardware devices. Oracle's docs indicate it supports FIPS mode if the underlying NSS libraries are configured in FIPS mode, [\"if the NSS secmod.db has been set to FIPS-140 compliant mode\"|https://docs.oracle.com/javase/9/security/pkcs11-reference-guide1.htm#JSSEC-GUID-7989F8B4-7260-4908-8203-99056B2D060E]. BouncyCastle seems like another possibility.\n\nI am not sure about the agent's private key. For example, mozilla's NSS libraries support FIPS mode and they say, [\"A FIPS-140 compliant application must do ALL of its cryptography in a FIPS-140 certified \"device\"... It must generate or derive cryptographic keys and store them internally... Except for \"public keys\", it must not allow any keys to leave it (to get outside of it) unless they are encrypted (\"wrapped\") in a special way.|https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/FIPS_Mode_-_an_explanation#What_is_FIPS_Mode_all_about]. My interpretation is storing private keys in plaintext in the filesystem is not ok, but is ok if they are password protected. I assume \"wrapped in a special way\" is referring to using an approved password based key derivation function and cipher to generate a symmetric key. It is also possible to use an openssl-pkcs11 engine to access the HSM. The agent work for that is fairly easy, but not implemented yet.\n{quote}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14808", "fixedVersions": [], "id": "14808", "issueType": "Improvement", "key": "SERVER-2544", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "allow password/encrypted private key for CA", "timeSpent": "PT0S", "updated": "2022-03-08T11:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "attachments": [], "comments": [], "components": [], "created": "2019-05-22T15:01: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@6add8734"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykgnr:"}, {"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": "Puppet Server will now list plan content from your modules, just as it does task content."}, {"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_*:*_527747561_*|*_1_*:*_1_*:*_6130_*|*_10007_*:*_1_*:*_771658253_*|*_3_*:*_1_*:*_2850409155_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1206577717_*|*_10005_*:*_2_*:*_3014526438"}], "description": "To mirror the functionality for tasks, we want to be able to list plans and return information about them from Puppetserver. This entails a few steps:\n\n* Extend the Puppet::Server::Master ruby code to query the info_service for plans (https://github.com/puppetlabs/puppetserver/blob/master/src/ruby/puppetserver-lib/puppet/server/master.rb#L113-L129)\n* Extend the JrubyPuppet interface to expose those methods to clj (https://github.com/puppetlabs/puppetserver/blob/master/src/java/com/puppetlabs/puppetserver/JRubyPuppet.java)\n* Extend the JrubyPuppetService protocol to expose the new functionality https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/protocols/jruby_puppet.clj\n* Extend the jruby-puppet-pooled-service to implement the new functions in the protocol https://github.com/puppetlabs/puppetserver/blob/2deb686496862e30272b9cf05f07f7419cbbfe7a/src/clj/puppetlabs/services/jruby/jruby_puppet_service.clj\n* Add the appropriate handlers and middleware functions to expose the HTTP endpoint - https://github.com/puppetlabs/puppetserver/blob/e30ae3295214ddb11156cb5fa62f3f8b8978e060/src/clj/puppetlabs/services/master/master_core.clj#L812 is the top of this, and goes through  couple of layers before hitting the TK service\n\nThese new endpoints should match those for tasks, within reason.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15458", "fixedVersions": ["SERVER 6.6.0"], "id": "15458", "issueType": "New Feature", "key": "SERVER-2543", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "resolution": "Done", "resolutionDate": "2019-08-27T12:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add endpoints for plans and plan_data", "timeSpent": "PT0S", "updated": "2019-09-12T11:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Makes sense though I think we'd want to fix that in {{puppetserver ca sign}}. On the agent side {{puppet agent --fingerprint}} will print something like:\n\n{noformat}\n# puppet agent --fingerprint\n(SHA256) 48:A2:82:E2:21:AD:3A:54:C2:D5:1A:75:48:00:3C:8F:91:8C:65:A2:D9:79:5D:B6:8B:11:57:5D:1C:3D:72:89 \n{noformat}\n\nthough it seems to be broken in 6.4.x. I'll file a separate issue for that.", "created": "2019-05-24T16:02:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved this to the SERVER project as this would be good addition to {{puppetserver ca sign}}", "created": "2020-07-30T10:58:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T12:14:00.000000"}], "components": ["CLI"], "created": "2019-05-22T03:22:00.000000", "creator": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3461fb34"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzuq7j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13528343817_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_74721584201"}], "description": "Hi,\n\non puppet master the client's public key needs to be signed with puppet cert sign clientname\n\n\u00a0\n\nThere's two ways to do it:\n\n1) the interactive way where the sha256 hash sum is shown and a human confirms to have checked this\n\n2) the --assume-yes way to blindly sign a key without verifying.\n\n\u00a0\n\nThat's insufficent /insecure if clients need to be registered automatically, e.g. with an external script\n\n\u00a0\n\nthere show be a command like\n\npuppet cert sign clientname hashsum\n\nor just\n\npuppet cert sign hashsum\n\n\u00a0\n\nwhich signs the client *only if* the hashsum is equal to the one given on command line (e.g. fetched directly from the client)\n\n\u00a0\n\n\u00a0\n\nAnd on the client side there should be some simple command to display the corresponding hash of the cert request, in order to automatically fetch the hash sum from the client and pass it to the master/server to sign that particular hash.\n\n\u00a0\n\nregards\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16545", "fixedVersions": [], "id": "16545", "issueType": "Improvement", "key": "SERVER-2847", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f2ee3fe1-33d7-4cc0-9468-a0aeab57eee5", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppet cert sign lacks hashsum parameter", "timeSpent": "PT0S", "updated": "2022-03-08T12:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "My guess is an issue with garbage collection, have you played around with the JVM tuning options described here? https://puppet.com/docs/puppetserver/5.3/tuning_guide.html", "created": "2019-07-09T16:12:00.000000"}, {"author": "61bbace0755091006a2b896a", "body": "i inherited this machine and ended up installing a new puppetserver. we did mess around a little bit with the old one, but i returned all settings (as far as i know) to there standards.\n\nthanks for the tipp. :)\n\ni think we can close this one. all my new machines are working fine. ", "created": "2019-07-15T04:40:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Good to hear it, will do.", "created": "2019-07-15T09:16:00.000000"}], "components": ["Performance", "Puppet Server"], "created": "2019-05-21T04:16:00.000000", "creator": "61bbace0755091006a2b896a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b67056e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzupm7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jul/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4770000031_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.14*\n *Puppet Server Version: 5.3.8*\n *OS Name/Version: OEL 7.4*\n\nOn some occasions in the week, the puppetserver jumps to 100% cpu and generates a lot of load. The logfile has no errors on this time. strace shows a lot of\u00a0sched_yield. Requests are being processed, but slowly.\n\nWe cannot reproduce, because we do not know what is causing it. We have like 50module from git/forge in our Puppetfile and deploying via webhook with r10k.\n\nWhen we restart, everything seems to be fine again. Until next time....\n\u00a0\nhas anybody the same problems or know how to get this behavior to stop?\u00a0", "environment": "{code:java}root@puppetmaster02 [/var/log/puppetlabs/puppetserver] # rpm -qa| grep puppet\npuppetdb-termini-5.2.8-1.el7.noarch\npuppet-agent-5.5.14-1.el7.x86_64\npuppetserver-5.3.8-1.el7.noarch\nroot@puppetmaster02 [/var/log/puppetlabs/puppetserver] # facter os\n{\n architecture => \"x86_64\",\n family => \"RedHat\",\n hardware => \"x86_64\",\n name => \"OracleLinux\",\n release => {\n full => \"7.4\",\n major => \"7\",\n minor => \"4\"\n },\n selinux => {\n enabled => false\n }\n}\nroot@puppetmaster02 [/var/log/puppetlabs/puppetserver] # java -version\nopenjdk version \"1.8.0_151\"\nOpenJDK Runtime Environment (build 1.8.0_151-b12)\nOpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15734", "fixedVersions": [], "id": "15734", "issueType": "Bug", "key": "SERVER-2542", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61bbace0755091006a2b896a", "resolution": "Fixed", "resolutionDate": "2019-07-15T09:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver consumes 100% CPU", "timeSpent": "PT0S", "updated": "2019-07-15T09:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've got this working for all basic use cases except Hiera lookups. In addition to the code in puppetserver, I also had to make some changes in PAL itself, in a PR here: https://github.com/puppetlabs/puppet/pull/7599. There might be more needed to get the hiera lookups working, not sure yet.", "created": "2019-07-01T11:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "With the merge of the PAL updates in PUP-9818, this is now working for all basic use cases.", "created": "2019-07-12T10:14:00.000000"}], "components": [], "created": "2019-05-16T14:04: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@206c7f00"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsxb3:"}, {"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_*:*_1102739337_*|*_1_*:*_1_*:*_50977_*|*_10007_*:*_2_*:*_804172933_*|*_3_*:*_1_*:*_3609282430_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_522981807"}], "description": "We are adding a new endpoint to puppetserver that can accept JSON-encoded parsed Puppet AST, to be compiled along with other data in the request into a mini catalog that can be applied on a node. We need to figure out how to hook into Puppet's compiler to do this, and then call that code from the HTTP handler for the request.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15733", "fixedVersions": ["SERVER 6.5.0"], "id": "15733", "issueType": "Task", "key": "SERVER-2540", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-07-25T11:38:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Compile AST snippets and return mini catalogs", "timeSpent": "PT0S", "updated": "2019-07-25T11:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-05-16T12:36: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@254195c4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsxav:"}, {"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_*:*_433486879_*|*_1_*:*_1_*:*_14819_*|*_10007_*:*_1_*:*_2327447481_*|*_3_*:*_1_*:*_13612222_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_607171579"}], "description": "Once we have decided on a schema for the input and output of the new Puppet AST parsing endpoint, we should write the Clojure skeleton for the request, with plumbing down into a stub at the Ruby level, that will eventually call into Puppet.\n\nSee similar work at https://github.com/puppetlabs/puppetserver/pull/1962/commits/988d4fc2b5dbaa91a4e6521cb6f4b3a8b1bdec62.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15061", "fixedVersions": ["SERVER 6.5.0"], "id": "15061", "issueType": "Task", "key": "SERVER-2541", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-06-24T15:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Clojure skeleton for AST parsing endpoint", "timeSpent": "PT0S", "updated": "2019-06-24T15:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This might relate to the work that is being done for pluginsync with apply blocks in plans. I'd like to wait and see what sort of solution they come up with and perhaps let that inform this work.", "created": "2019-10-03T17:33:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "We need to spend some time scoping this. More context on the priority of this would help us decide how/when to invest in scoping.\u00a0\n\nWe need to start with a google doc to lay out history and options around a solution for this. [~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9]\u00a0will start this google doc and share with the team.\u00a0", "created": "2021-04-02T11:17:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Was the feature added to PE because of performance issues?\n\nIs there any reason the plugins need to be downloaded before the frictionless installer runs, or would this be solved equally well by an efficient single connection download that happens at the normal pluginsync time?", "created": "2021-04-02T16:26:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "The perf impact is described in PUP-9707.  Short story is for the puppetlabs-windows module at the time, it would take 90 seconds for an agent run without bulk_pluginsync and would take 14 seconds with bulk_pluginsync.  \n\nThe more modules and the more plugins that are added the more it matters as regular pluginsync scales linearly and bulk_pluginsync is barely affected by the size of the tarball.  \n\nThere is no reason the plugins should be downloaded by the frictionless installer, that was just the easiest way to hack in the improvement.  An efficient single connection download for normal pluginsync seems like the correct long term solution.  In fact a requirement of this solution is that the agent and server can perform this function natively and not rely on a bash script to get it done.  ", "created": "2021-04-12T09:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ideas doc: https://docs.google.com/document/d/1UYysy9cssWR5DpziA3wcgfx-eRrnCFMVKzXMf-MxOAY/edit?usp=sharing\n\nGoing to be fleshing that out and then hopefully filing other tickets once we decide on the implementation path.", "created": "2021-05-05T16:37:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "^that still needs to be done", "created": "2021-06-11T12:20:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This has been deprioritized since Connect is only supporting apply blocks over ssh/winrm right now and there is already a bulk pluginsync solution for that.\nWe'll need to revisit this if/when we decide to support apply blocks using pxp-agent.", "created": "2021-07-14T17:37:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T11:02:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Hi people,\n[~accountid:61af86343618cd006f430854] can you please explain why you mass closed valid tickets? Also you bulk text is wrong, this is not about a module. Why do we, the community, get asked to raise tickets for bugs and feature requests when you just close them? The bugs won't get fixed just by hiding the jira issue. You just made it more complicated for us users to find existing issues and now you might end up with multiple tickets for the same issue. What's the point of that? (I also think that mass reenabling GitHub issues + autoclosing them due to inactivity is a bad idea, especially without an anouncement in advance, but that's different topic).\n\nNow back to pluginsync:\nI think having the native puppetserver support for a .tar.gz would be really helpful. As a PE consultant I've a few environments where a usual pluginsync runs into timeouts due to the amount of modules. We've to rely on the .tar.gz here. Besides that, deferred functions currently do not support custom datatypes because they are not available on the agent. I think that if pluginsync will be used to get the custom datatypes on the agent, a speed improvement is a must have. I checked a few PE environments I'm responsible for and they contain 250 to 300 custom types.", "created": "2022-04-26T09:50:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "We discussed this on slack during the last office hours and had a few ideas:\n\nh3. Serving files from clojure\nThat was already evaluated in https://puppet.atlassian.net/browse/SERVER-2026 and there exists a PoC. [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] hacked it together at https://github.com/Sharpie/puppetserver-clj-file-server. I think that would be fast enough for most environments\n\nh3. Serving files via a webserver infront of puppetserver\nThis takes some time to configure for endusers, since puppetserver in FOSS doesn't ship any additonal webserver. But! PE already bundles an nginx. With a bit of lua nginx should be a perfect fit to serve static files + pluginsync + custom datatypes and FOSS users could switch to this approach if clojure is too slow for them\n\nh3. Improving current hashing logic\nI'm not sure if I understood [~accountid:63d40628f6e1b543161789a7] correctly. What I understood was 'for each requested file via pluginsync, puppetserver computes the checksum for every file that could be pluginsynced'. That sounds a bit odd to me. I didn't check the current implementation so I do not know how it actually works, but there might be some room for improvement.\n\nh3. serve files as tar.gz, created by an r10k/code-manager hook, and gunzip via exec on the agent\nWhile this probably wasn't a serious attempt, this could work well but would require at least two initial agent runs. Most people do that anyways because they do not want to deal with dependencies\n\nh3. Rethink how the agent checks if local files are up2date\nUnsafe approach: Agent fetches a Digest file / .r10k-deploy.json, if the version on the puppetserver is identical to the local one, do not do a pluginsync. That's fast, but won't work in situations where people modified files on the agent or on the puppetserver (after the deployment). Another idea: Do not work with checksums but with a last-modified header + optionally cache the files in a webserver.", "created": "2022-05-12T11:24:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "[~accountid:63d40628f6e1b543161789a7] [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] do you know if there are any planned improvements for the pluginsync in Puppetserver 8? Maybe the direct serving from clojure?", "created": "2022-12-14T06:11:00.000000"}], "components": [], "created": "2019-05-15T11:24: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@6d6688e8"}, {"fieldName": "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-11032"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000b"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Oct/19"}], "description": "h1. Stories\n\nAs a PE user, when I install a new agent and run the agent I do not want to wait minutes for plugins to download and cause a resource bottleneck on my Puppet Servers so that I can reliably run my PE infrastructure.\n\nAs a PE engineer, I'd like to use puppetserver bulk pluginsync for apply blocks over PCP so we can remove edge case bugs around how we implemented pluginsync over PCP.  \n\nh1.  Apply Blocks over SSH / WinRM\n\nThis isn't a problem for apply blocks over ssh/winrm because those receive their plugins from bolt-server which basically implements it's own form of bulk pluginsync.  \n\nh1.  Background\n\nIn PE we added the ability for the agent to bulk download plugins before installing the agent via the frictionless installation script.  \n\nOn the master, a tarball of the plugins is created and placed in a directory for jetty to serve so the frictionless agent install script can pull it down.  \n\nh1.  Suggested Improvement\n\nInstead of having a script outside of puppetserver create a tarball of the plugins that are currently synced to the agent on the master.  Puppetserver could be improved to make a tarball whenever code is deployed so it's always up-to-date and the tarball could be made from grabbing the plugins from each module instead of just using the plugins synced to the agent on the master.  \n\nAn even further improvement would be to make a tarball for each possible environment instead of just a single environment but the marginal return for this improvement is low for most users.\n\nh1.  Other notes\n\nThere are various other options for improving pluginsync but they may have lower marginal returns:\n - If we create tarballs for each environment then the agent logic could determine if any plugins needed to be synced and if so it should get a new tarball with all the plugins instead of doing individual downloads of each plugin.  This is not easy on bandwidth but is more performant.  Could be optional.  \n- An improvement on the above would be to determine just the files needed by the agent and then send a single artifact needed to get the agent insync with the master.  ", "epicLinkSummary": "Pluginsync Improvements", "estimate": "PT0S", "externalId": "14807", "fixedVersions": [], "id": "14807", "issueType": "Improvement", "key": "SERVER-2539", "labels": [], "originalEstimate": "PT0S", "parent": "20264", "parentSummary": "Pluginsync Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add bulk pluginsync ability to puppet server ", "timeSpent": "PT0S", "updated": "2022-12-14T06:11:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We should figure out whether this is ever going to be used for Impact Analysis for apply blocks in Plans.", "created": "2019-07-09T14:59:00.000000"}], "components": [], "created": "2019-05-13T11:34:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@525d1160"}, {"fieldName": "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": "Track Hiera Lookups"}, {"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": "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|hympvr:"}, {"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": "You can now enable sending a list of all the Hiera keys looked up during compile to PuppetDB, via the `jruby-puppet.track-lookups` setting in `puppetserver.conf`. This is currently only used by CD4PE."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_57114_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_6149290834_*|*_10013_*:*_1_*:*_3794794245"}], "description": "We want to start optionally keeping track of what Hiera lookups are used to compile a catalog for a node. This information is useful for more accurately determining whether changes to Hiera data will change the compiled catalog for a given node, as CD4PE does with Impact Analysis.\n\nThis epic tracks the work of instrumenting Puppet to gather that data, and then sending it along to PuppetDB. Note that it should be possible to trigger this collection for a specific compilation (e.g. with a parameter on a catalog request) rather than have it always on or always off.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17119", "fixedVersions": ["SERVER 6.6.0"], "id": "17119", "issueType": "Epic", "key": "SERVER-2538", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-09-05T13:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Track Hiera lookups during compile", "timeSpent": "PT0S", "updated": "2021-08-23T10:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Transient networking failure on ubuntu18. Note we've seen one - two networking transients a day for a few days, no apparent affinity for host os so far. \n{code}\n00:35:43   * Performing a standard monolithic install with frictionless agents\n00:35:43   \n00:35:46   * Generate the /tmp/2019-05-10_07.35.44.itpXb9/pe.conf on h3y2zw2nidlq9ao.delivery.puppetlabs.net\n00:35:46     localhost $ scp /tmp/beaker20190510-16297-srqnpn ubuntu1804-64-1:/tmp/2019-05-10_07.35.44.itpXb9/pe.conf {:ignore => }\n00:35:46   \n00:35:46   * Install PE on master\n00:35:46   \n00:40:22   * Stop agent on master\n00:40:22   \n00:40:24   * Run puppet to setup mcollective and pxp-agent\n00:40:24     Warning: ssh channel on ubuntu1804-64-2 received exception post command execution Errno::ETIMEDOUT - Connection timed out - recvfrom(2)\n{code}", "created": "2019-05-10T12:12:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Had two ubuntu1804 hosts drop out from under us while installing PE during filesync tests today. Not enough of the installer output is logged to see if they both failed in the same place though.", "created": "2019-05-17T10:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Potentially another one here https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppetserver/view/all/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1103/ Seeing autosign failures and server start issues.", "created": "2019-06-12T12:09:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Failure on debian 8 [ https://jenkins-platform.delivery.puppetlabs.net/job/platform_puppetserver_integration-system_no-conditional_smoke-master/1111/LAYOUT=debian8-64ma-centos6-64a,LDAP_TYPE=default,label=beaker/consoleText ]\n{code}\nRuntimeError: PuppetAcceptance::DSL::Helpers.with_puppet_running_on failed (check backtrace for location) because: Failed to open TCP connection to r3pgayn3r66452e.delivery.puppetlabs.net:8140 (getaddrinfo: Name or service not known)\n{code}\nThis is the debian vm, and the error seems to occur in beaker itself failing a dns query for the debian vm.\n\n\n\n", "created": "2019-06-19T15:55:00.000000"}], "components": [], "created": "2019-05-10T12:10: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@13884c65"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzuj5z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21833_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_89254850714"}], "description": "We've anecdotally seen more transients with Debian 8/Ubuntu 1804 than other hosts, especially timeouts/server not starting.\n\nWe also had a meaningful regression with r10k when initially supporting Ubuntu 18 that came from how we were doing child process management with newer rubies on newer kernels. We also have a historically bad relation with Debian based systems vs our internal tooling/packaging/library management. This is a ticket to track various failures on those two platforms to see if there is some underlying issue.\n\nNote, if there is a kernel problem we may also see issues with RHEL8, so here we should mention failures in those two platforms and how they relate to other failures in CI.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "17118", "fixedVersions": [], "id": "17118", "issueType": "Task", "key": "SERVER-2536", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tracking ticket for Deb8/Ubuntu18 transients", "timeSpent": "PT0S", "updated": "2022-03-08T12:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for filing this. We have recently realized that this is a problem for people due to CRL expirations that are shorter than we anticipated. We'll look into the pros and cons of having redownloading built into the CA vs having a CLI tool to update.\n\nIt should be possible for you to update the CRL file manually. Maybe the tool you were using to edit it was messing with the text encoding?", "created": "2019-05-07T15:35:00.000000"}, {"author": "611123f06051c5006a3685ec", "body": "Maybe I was doing it wrong.  I just replaced the crl in the crl.pem file with the updated version.  I used vi since it was in pem format I figured this should work.", "created": "2019-05-07T15:41:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I definitely would expect that to work. If it was just the root that had expired, you'd only want to replace the last CRL in the file. Was there any sort of stack trace with the error?", "created": "2019-05-07T15:45:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "What sort of endpoint is the CRL published to? Is it a simple download over HTTPS, or does it require something heavier like an LDAP connection to access?", "created": "2019-05-24T09:32:00.000000"}, {"author": "623c0d1b94742a00683e3e96", "body": "Hi,\n\nsame issue here. Our CA is publishing CRLs via http.\n\nHere is a snippet from our ca_crt.pem\n{code}\n[...]\nX509v3 CRL Distribution Points:\nFull Name:\nURI:ldap:///...\nURI:http://our.pki.org/pki/CA.crl\n[...]\n{code}\n\n", "created": "2019-08-13T03:16:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "The work we plan to do for this issue is described in https://puppet.atlassian.net/browse/SERVER-2550", "created": "2021-01-29T11:30:00.000000"}], "components": ["Certificate Authority"], "created": "2019-05-07T05:52:00.000000", "creator": "611123f06051c5006a3685ec", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4a96352a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "7500.0"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2712"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hykebj:40900006go"}, {"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": "37154"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_35180359_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4222414902_*|*_10005_*:*_2_*:*_50457467842"}], "description": "*Puppet Version: 6.4.1*\n *Puppet Server Version: 6.3.0*\n *OS Name/Version: RHEL 7.5*\n\nI have an external root ca, and the CRL is published to a known accessible endpoint.\u00a0 Puppet CA cert is signed by my root CA, and I followed the steps to create the files required to import into puppet when I started for the first time.\u00a0 Everything worked as expected until the CRL expiration time on my Root CA.\u00a0\n\n*Desired Behavior:*\n\nIt would be nice if puppet server could fetch the CRL on its own since it's published to a known and accessible location.\u00a0 Bar that, having an easy way to import the updated CRL which could be scripted would be acceptable.\n\n*Actual Behavior:*\n\nThe puppet master did not fetch the CRL as I expected, and when I run puppet I get the error \"Error: Could not run: The CRL issued by 'Name of Root CA here' has expired, verify time is synchronized.\"\n\nI attempted to manually copy the CRL into crl.pem but that gave error \"Error: Could not run: invalid byte sequence in UTF-8\"", "epicLinkSummary": "Improve CRL Management", "estimate": "PT0S", "externalId": "17552", "fixedVersions": [], "id": "17552", "issueType": "Bug", "key": "SERVER-2535", "labels": ["customer0", "jira_escalated", "ondeck1"], "originalEstimate": "PT0S", "parent": "16586", "parentSummary": "Improve CRL Management", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "611123f06051c5006a3685ec", "resolution": "Duplicate", "resolutionDate": "2021-01-29T11:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CRL issue with Intermediate CA setup", "timeSpent": "PT0S", "updated": "2021-01-29T11:30:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-05-02T17:40: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@568b0d5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzudsf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13216938122_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76705115352"}], "description": "We may be able to remove our special \"--gzip\" ending handling because of changes in Jetty 9.4, rendering the effort in SERVER-1153 moot. We should validate that this assumption is correct and if so remove our special handling and the tests for it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14869", "fixedVersions": [], "id": "14869", "issueType": "Improvement", "key": "SERVER-2534", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Evaluate --gzip handling with cacheable endpoints", "timeSpent": "PT0S", "updated": "2022-03-08T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "What are you interested in using these metrics for? Having a use case makes it easier for us to prioritize adding them.", "created": "2019-10-03T17:31:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "Closing due inactivity. If you have a use case for these metrics please share them.", "created": "2020-12-02T12:46:00.000000"}], "components": [], "created": "2019-05-02T13:16:00.000000", "creator": "557058:d83223a2-1c20-4245-a31c-95c8f44172b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3ed48b5c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzudan:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_50113798299_*|*_6_*:*_1_*:*_0"}], "description": "I'd love to see additional metrics in Puppetserver, specifically the following:\n * *num-requested-jrubies* - under puppetlabs.master.jruby, there is both a num-free-jrubies (reporting the instantaneous count of jrubies that are free right now, always an integer) as well as free-jrubies-histo, a histogram with an exponential-decay rolling average of free jrubies over time. There's also requested-jrubies-histo, but no corresponding num-requested-jrubies, which is a shame.\n * *last-compile-duration*\u00a0- under puppetlabs.master.compiler.compile.<env>.<certname> you can get statistics with a exponentially-decaying rolling average of compile times for a particular catalog. It'd be nice to be able to get just the raw amount of time the most recent compile for that catalog took; at the moment I have to parse it out of logs and then emit it as a metric, which works but is a pain.\n * *is-currently-compiling* - Similarly under puppetlabs.master.compiler.compile.<env>.<certname> (or somewhere similar), it'd be nice to have a metric whose value is 1 if a catalog is currently being compiled for this node (or maybe, if a jruby is currently borrowed for this node, if that's easier to expose), and 0 if it is not. Again, this information can be parsed from logs and exported as a metric that way but it's a real pain (and unreliable since if puppetserver is restarted, a 'real' metric would get reset to 0 but the \"finished compiling catalog for <certname>\" log message never shows up so the 'fake' metric computed from the logs will get messed up).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17461", "fixedVersions": [], "id": "17461", "issueType": "New Feature", "key": "SERVER-2533", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d83223a2-1c20-4245-a31c-95c8f44172b7", "resolution": "Won't Do", "resolutionDate": "2020-12-02T12:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add additional compiler and jruby metrics", "timeSpent": "PT0S", "updated": "2020-12-02T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-05-01T16:32: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@4cfed0ad"}, {"fieldName": "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": "SERVER-2467"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzucnr:"}, {"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_*:*_1610543996_*|*_1_*:*_1_*:*_1756652_*|*_10007_*:*_1_*:*_777144663_*|*_3_*:*_1_*:*_715583380_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_436358027_*|*_10006_*:*_1_*:*_665542614"}], "epicLinkSummary": "Remote Transport API", "estimate": "PT0S", "externalId": "17114", "fixedVersions": ["SERVER 6.4.0"], "id": "17114", "issueType": "Improvement", "key": "SERVER-2532", "labels": [], "originalEstimate": "PT0S", "parent": "14857", "parentSummary": "Remote Transport API", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2019-06-19T09:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allowing caching transport data in addition to class data", "timeSpent": "PT0S", "updated": "2019-06-19T09:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Updating jruby-utils to provide both implementations will be slightly more invasive than originally thought. [This PR|https://github.com/puppetlabs/jruby-utils/pull/77] contains the initial implementation, but I think a new, more comprehensive abstraction is needed.", "created": "2019-10-02T16:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The new abstraction now passes all of the existing tests in jruby-utils and I've added a few for the multithreaded case. See [this PR|https://github.com/puppetlabs/jruby-utils/pull/78]. I'm working on testing it in puppetserver now.", "created": "2019-11-26T10:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Released as jruby-utils 3.0.0!", "created": "2019-12-10T16:39:00.000000"}], "components": [], "created": "2019-04-29T16:57:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@35c52893"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykedz:"}, {"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": "See SERVER-2684 for release notes."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_64682462_*|*_1_*:*_1_*:*_7950919349_*|*_10007_*:*_2_*:*_1296777718_*|*_3_*:*_2_*:*_9679999817_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_514767213"}], "description": "Allow Puppet Server to run with either a JRuby pool or a single JRuby instance. (With a single JRuby instance, each request will come in as its own thread from jetty.)\n\nThere should be a new setting to enable the pool, defaulting to pooled behavior for now.\n\n*UPDATE*\nThis is implemented in jruby-utils, as an alternative backing pool model that hands out references to a single instance, instead of individual different instances, following the same API as the current multi-instance implementation. They can be toggled between, using a setting currently called {{multithreaded}}.", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "16925", "fixedVersions": ["None"], "id": "16925", "issueType": "Improvement", "key": "SERVER-2529", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2019-12-11T10:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add single-instance JRuby pool", "timeSpent": "PT0S", "updated": "2019-12-11T10:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2019-04-29T16:42:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a2c437d"}, {"fieldName": "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-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "thread-safe puppet"}, {"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": "dark_yellow"}, {"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|hzuawn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_407721_*|*_6_*:*_1_*:*_0"}], "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16077", "fixedVersions": [], "id": "16077", "issueType": "Epic", "key": "SERVER-2527", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Duplicate", "resolutionDate": "2019-04-29T16:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "thread-safe puppet", "timeSpent": "PT0S", "updated": "2021-08-23T10:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2019-04-29T16:41:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@19bd6cbf"}, {"fieldName": "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": "SERVER-2138"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyke73:"}, {"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_*:*_82420320_*|*_1_*:*_1_*:*_7951834784_*|*_10007_*:*_1_*:*_451776867_*|*_3_*:*_1_*:*_6029514390_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5010453270"}], "description": "To test for thread safety in puppet we'll need to set up multiple environments where each component differs in ways that are easy to tell in a catalog (ie by parsing the json), then set up a client to request multiple nodes in different environments simultaneously and many times, and make sure everything is returned as expected.\n\nI would not expect this to be a part of the normal test suite but it should be possible to run in jenkins.\n\nThings that need to differ in catalogs:\n* indirections\n* types\n* providers\n* functions\n* files served by puppetserver\n(this needs to be verified/expanded)", "epicLinkSummary": "Threadsafe Puppet", "estimate": "PT0S", "externalId": "15732", "fixedVersions": ["SERVER 6.8.0"], "id": "15732", "issueType": "Task", "key": "SERVER-2526", "labels": [], "originalEstimate": "PT0S", "parent": "16739", "parentSummary": "Threadsafe Puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2019-12-11T15:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Set up testing for thread safety", "timeSpent": "PT0S", "updated": "2020-01-10T08:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-04-22T17:31:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": " "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5de768a6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzu5zj:"}, {"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_*:*_443503353_*|*_1_*:*_1_*:*_9332_*|*_10007_*:*_1_*:*_144863547_*|*_3_*:*_1_*:*_238579_*|*_5_*:*_1_*:*_0"}], "description": "Now that we have open-sourced the analytics client, we should start managing it in clj-parent, and then update at least pe-puppet-server-extensions to start pulling it in from there. Eventually we should do this for all components that are currently using it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15457", "fixedVersions": ["None"], "id": "15457", "issueType": "Task", "key": "SERVER-2522", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-29T13:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add the analytics-client to clj-parent", "timeSpent": "PT0S", "updated": "2019-04-29T13:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:db3c8c5c-5825-4424-a788-64c2fa922e24", "attachments": [], "comments": [{"author": "557058:db3c8c5c-5825-4424-a788-64c2fa922e24", "body": "Tracked in\u00a0DOC-4074", "created": "2019-04-18T17:18:00.000000"}], "components": [], "created": "2019-04-18T12:06:00.000000", "creator": "557058:db3c8c5c-5825-4424-a788-64c2fa922e24", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@82c668c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzu41z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18738085_*|*_6_*:*_1_*:*_0"}], "description": "Update 2019.1 version of\u00a0[https://puppet.com/docs/pe/2019.0/analytics_overview.html]\u00a0to reflect additional data that we are collecting", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16924", "fixedVersions": [], "id": "16924", "issueType": "Task", "key": "SERVER-2521", "labels": [], "originalEstimate": "PT0S", "parent": "16253", "parentSummary": "Module Metrics", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:db3c8c5c-5825-4424-a788-64c2fa922e24", "resolution": "Won't Fix", "resolutionDate": "2019-04-18T17:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update PE data collection web page", "timeSpent": "PT0S", "updated": "2019-04-18T17:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-04-18T10:04: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@397b508d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzu3zb:"}, {"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": "The new catalog compilation endpoint can now accept a log level for the logs it collects during compilation."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1528233552_*|*_1_*:*_1_*:*_27083_*|*_10007_*:*_1_*:*_779842666_*|*_3_*:*_1_*:*_1037182579_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3651461206"}], "description": "The v4 catalog endpoint allows the user to specify that the logs from the compile should be captured and returned with the request. We should look into allowing the user to specify what level of logging to capture during the compile, as an additional parameter to the request.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14867", "fixedVersions": ["SERVER 6.5.0"], "id": "14867", "issueType": "Improvement", "key": "SERVER-2520", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-07-08T09:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow the user to supply log level with v4 catalog requests", "timeSpent": "PT0S", "updated": "2022-02-22T13:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623e76b0866b810069e575bf", "body": "Currently blocked from upgrading to Puppet 6 in our environment as we make extensive use of the puppet built-in CA generated certs. Anything that uses nss/gnutls breaks.", "created": "2019-11-16T13:40:00.000000"}, {"author": "623e76b0866b810069e575bf", "body": "golang ssl verify breaks too.\nhttps://github.com/golang/go/issues/31440", "created": "2021-01-04T13:59:00.000000"}, {"author": "623e76b0866b810069e575bf", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] any chance this could be fixed in parallel with SERVER-2338 ?\nI'd love to upgrade to Puppet 7 :)", "created": "2021-01-06T19:43:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We'll take a look at this too. Thanks for the poke.", "created": "2021-01-07T09:58:00.000000"}], "components": ["Puppet Server"], "created": "2019-04-15T05:24:00.000000", "creator": "623e76e39b54ec0068b2837c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@149117f6"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:n"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Nov/19"}], "description": "*Puppet Version: 6.4.0*\n *Puppet Server Version: 6.3.0*\n *OS Name/Version: CentOS7 & 6*\n\nWhen running Puppet6 with an imported intermediate CA, the puppetserver will create host certs incorrectly by changing the ASN.1 string types in the host certs issuer field to \"UTF8STRING\" even though the Intermediate CA Cert CN has them as \"PRINTABLESTRING\".\n\nThe local puppetserver host cert seems to be the exception. I assume that it's created with a different mechanism during bootstrapping.\n\nThe different field types should not matter (according to the RFC Specs). However moznss (which curl is linked against on centos) as well as gnutls simply compare the issuer between CA and Host Cert bytewise and therefore complain about \"Unknown issuer\" / Invalid certificates even when given the correct CA Cert.\n\n\u00a0\n\nHere's a mozilla bug report (3 years old) for the issue in moznss:\n\nhttps://bugzilla.mozilla.org/show_bug.cgi?format=default&id=1239313\n\n*Desired Behavior:*\n\nEven though nss/gnutls are the ones violating the specs here, puppetserver ca should preserve the correct field types from the intermediate CA when signing certificates for hosts!\n\nOther CA Tools (e.g.: xca) will do exactly that.\n\n*Actual Behavior:*\n\n\u00a0\n\nHere some abbreviated samples (obtained using openssl asn1parse).\n\nOur intermediate CA CN:\n\n\u00a0\n\nSEQUENCE \n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :countryName\n \u00a0 \u00a0PRINTABLESTRING :DE\n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :stateOrProvinceName\n \u00a0 \u00a0PRINTABLESTRING :Hessen\n\n\u00a0\n\nThe isser in the puppetserver cert:\n\nSEQUENCE \n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :countryName\n \u00a0 \u00a0PRINTABLESTRING :DE\n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :stateOrProvinceName\n \u00a0 \u00a0PRINTABLESTRING :Hessen\n\n\u00a0\n\nThe issuer in a host cert signed by the puppetserver CA:\n\nSEQUENCE \n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :countryName\n \u00a0 \u00a0PRINTABLESTRING :DE\n \u00a0SET \n \u00a0 SEQUENCE \n \u00a0 \u00a0OBJECT :stateOrProvinceName\n \u00a0 \u00a0UTF8STRING :Hessen", "environment": "centos7 puppetserver. latest upgrades", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "17191", "fixedVersions": [], "id": "17191", "issueType": "Bug", "key": "SERVER-2518", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623e76e39b54ec0068b2837c", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver CA changes String types in Host certs (printablestring -> utf8) resulting in invalid cert validation", "timeSpent": "PT0S", "updated": "2023-11-06T09:55:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "created": "2019-04-10T17:19:00.000000", "name": "double.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10743"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Confirmed that this can still be repro'd on the latest version as well. Digging in a bit more now.", "created": "2019-04-10T17:40:00.000000"}, {"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "This exists in 2016.4.x and 2017.3.x:\n{code}[root@pe-2016415-master ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::role::bad for pe-2016415-master.puppetdebug.vlan at /etc/puppetlabs/code/environments/production/manifests/site.pp:4:3 on node pe-2016415-master.puppetdebug.vlan\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog", "created": "2019-04-11T10:01:00.000000"}, {"author": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "body": "When running an apply, the error is only logged once:\n{code}\n$> puppet apply -e 'node default { include module::bad }'\nError: Evaluation Error: Error while evaluating a Function Call, Could not find class ::module::bad for localhost (line: 1, column: 16) on node localhost\n{code}\n\nThe compiler logs all errors and warnings (up to the max cap, default 10), and raises one exception from validation of the parsed source (the original error, or one stating that there were too many errors if there are more than one), then during evaluation, it logs exceptions and raises an error.\n\nI suspect the extra message comes from the terminus as it may not trust that a raised exception has been logged already. it may need to differentiate the behavior depending on what kind of error it is.", "created": "2019-04-12T03:26:00.000000"}], "components": ["Puppet Server"], "created": "2019-04-10T17:19:00.000000", "creator": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@9a4da8b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hztypj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Apr/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15118624293_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_73164642957"}], "description": "*Puppet Version:* 5.5.10\n *Puppet Server Version:* 2018.1.0.109\n\n*Desired Behavior:*\n\npuppetserver logs the same error once\n\n*Actual Behavior:*\n\npuppetserver logs the same error twice, complicating the use of report processors like jamtur01/puppet-snmp\n\n*Reproduction:*\n\nDeclare non-existent class for an agent:\n{code}[root@pe-201817-master ~]# cat /etc/puppetlabs/code/environments/production/manifests/site.pp \nnode 'pe-201817-agent.puppetdebug.vlan' {\n  include role::bad\n}\n{code}\nRun puppet on the agent:\n{code}[root@pe-201817-agent ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::role::bad for pe-201817-agent.puppetdebug.vlan (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 4, column: 3) on node pe-201817-agent.puppetdebug.vlan\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\n{code}\n\"Puppet Evaluation Error\" is logged twice (not including the \"Puppet Server Error\") identically:\n{code}[root@pe-201902-master ~]#  tail -f /var/log/puppetlabs/puppetserver/puppetserver.log | grep \"Error\"\n2019-04-10T22:36:14.180Z ERROR [qtp338004690-79] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Could not find class ::role::bad ...\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:373:in `block in evaluate_classes'\n...\n2019-04-10T22:36:14.180Z ERROR [qtp338004690-79] [puppetserver] Puppet Evaluation Error: Error while evaluating a Function Call, Could not find class ::role::bad ...\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:373:in `block in evaluate_classes'\n...\n2019-04-10T22:36:14.181Z ERROR [qtp338004690-79] [puppetserver] Puppet Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::role::bad for pe-201902-agent.puppetdebug.vlan (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 4, column: 3) on node pe-201902-agent.puppetdebug.vlan\n{code}\nSee attached for the log with puppetserver with\u00a0{{loglevel=debug}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16544", "fixedVersions": [], "id": "16544", "issueType": "Bug", "key": "SERVER-2517", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "resolution": "Won't Fix", "resolutionDate": "2022-01-26T11:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver logs the same error twice", "timeSpent": "PT0S", "updated": "2022-01-26T11:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This branch contains some spike work on this: https://github.com/thrnio/puppetserver/tree/module_class_use_metrics", "created": "2019-04-08T11:20:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The work for this wound up only being added to pe-puppet-server-extensions.", "created": "2019-04-17T16:54:00.000000"}], "components": [], "created": "2019-04-03T12:28:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver has a Clojure function that returns all classes for an environment, grouped by module\n* This function is not unreasonably expensive in large environments"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23e346d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7h3:"}, {"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_*:*_156420201_*|*_1_*:*_1_*:*_28792_*|*_3_*:*_2_*:*_502252067_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_715220403"}], "description": "The class data available from PuppetDB does not have module name or namespace associated with it. If we are going to accurately report metrics on module usage, we need to correlate the class data in PDB with which modules are installed on disk on the server. We already have methods for getting all the classes in an environment; we should look into writing something similar that would also let us group these classes by module, with namespace.\n\n[~accountid:557058:abebd3bd-9c06-4ec8-ae7e-1932482e576f] has a spike for this here: https://github.com/thrnio/puppetserver/tree/module_class_use_metrics, that exposes this data via an API endpoint for convenience. Ultimately, this will probably only be used internally during metrics processing. \n\nFrom [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]: Because querying puppet's InfoService is expensive, we should look into ways to cache and use data that is already collected for other reasons (e.g. when the console updates, it needs to grab most of this), so that we don't end up overtaxing puppetserver for 30ish seconds multiple times a day.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14865", "fixedVersions": ["None"], "id": "14865", "issueType": "Task", "key": "SERVER-2512", "labels": [], "originalEstimate": "PT0S", "parent": "16253", "parentSummary": "Module Metrics", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-19T10:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Efficiently collect all installed module classes", "timeSpent": "PT0S", "updated": "2019-04-19T10:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] not sure if this is a valid ticket. Please feel free to close if it's not.", "created": "2019-04-01T07:35:00.000000"}, {"author": "5abd613dd4cf3c56be24b70d", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] Friendly reminder. This is needed for the 5.5.13 release. Please close if the work has been done for this ticket.", "created": "2019-04-03T02:17:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "fyi [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "created": "2019-04-03T10:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This platform isn't in our pipelines, and probably hasn't been for some time, because it's not really feasibly to get Java 8 on Debian 7. Closing as done I guess.", "created": "2019-04-03T10:43:00.000000"}, {"author": "557058:4786f794-5167-4041-b3c0-deb1e8ba3438", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0not sure we need release notes here, can you update the ticket accordingly?", "created": "2019-04-03T13:12:00.000000"}], "components": [], "created": "2019-04-01T01:19: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@4b427aa"}, {"fieldName": "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-2564"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzto7j:"}, {"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/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2681_*|*_5_*:*_1_*:*_6831174812_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_206667870"}], "description": "Remove {{debian-7 x86_64/i386}} from the puppetserver pipelines defined in jenkii/platform/projects/puppetserver.yaml in [ci-job-configs|https://github.com/puppetlabs/ci-job-configs].\n", "epicLinkSummary": "Remove debian-7 x86_64/i386 FOSS support", "estimate": "PT0S", "externalId": "14863", "fixedVersions": [], "id": "14863", "issueType": "Task", "key": "SERVER-2511", "labels": [], "originalEstimate": "PT0S", "parent": "56642", "parentSummary": "Remove debian-7 x86_64/i386 FOSS support", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5abd613dd4cf3c56be24b70d", "resolution": "Fixed", "resolutionDate": "2019-06-21T12:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove debian-7 x86_64/i386 from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2019-06-21T12:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:abebd3bd-9c06-4ec8-ae7e-1932482e576f", "attachments": [], "comments": [{"author": "557058:abebd3bd-9c06-4ec8-ae7e-1932482e576f", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\n\nThe immediate difficulty here that comes to mind is that PDB doesn't explicitly have data on what module a resource came from, because the _catalog_ doesn't track that data. For classes and defined types, we can kind of guess for most things based on prefixing, but that's only part of it, and it also means we can't do the aggregation in PDB, which is almost certainly going to be a problem in larger environments.\n\nAlso, in the original ticket, there is a request for grouping based on platform/OS, which is _also_ not possible to do in PDB directly because there are no entities that contain all the data we need so we can't group on both fields at the same time, meaning to my understanding, we'd have to get a list of all platforms, then do a separate query for each platform to get the data, which is probably more reasonable than the first issue with detecting modules, since there's not likely to be more than a couple dozen platforms at all but the largest customers, and even they will be capped by the number of platforms we support in total, but it's still not great. ", "created": "2019-03-27T12:54:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I see what you mean. I wonder if in general the prefixing is reliable enough to still give us some useful data... [~accountid:557058:68216498-c6bf-4e8f-92c1-ac84887b7c02] [~accountid:557058:291cd4a1-794b-4442-93e6-929db39e48f7] do you have thoughts on whether class title is sufficient to key on for the data to be useful to you?\n\n I was assuming we'd do the aggregation in Puppetserver when we collect the analytics (generally once a day). I hadn't thought of doing it in PDB, what benefits do you see doing it that way? You mention larger environments, larger as in more nodes, more modules, or both?\n\nIt looks like we do not get namespace or supported information from that query either, which makes sense. Namespace info is available via {{puppet module list}} or the {{environment_modules}} endpoint (which I think is also mentioned in the other ticket", "created": "2019-03-27T15:05:00.000000"}, {"author": "557058:abebd3bd-9c06-4ec8-ae7e-1932482e576f", "body": "{quote}\nI was assuming we'd do the aggregation in Puppetserver when we collect the analytics (generally once a day). I hadn't thought of doing it in PDB, what benefits do you see doing it that way? You mention larger environments, larger as in more nodes, more modules, or both?\n{quote}\n\nWell, in a 10k+ node deployment where they use puppet to any substantial degree, you could pretty easily end up with hundreds of thousands to millions of resources, so being able to do that aggregation at the DB level would probably be a lot faster than sending it over the wire and doing in it puppetserver. I mean, it's not like it's especially difficult to do, just a bit more complicated and probably slower.\n\nLike you said, overall, I think we can probably make pretty good guesses as to most of this stuff, which will probably handle most of what we need. We'll definitely need to pull namespace data and check environments to avoid custom modules named the same as public modules. We'll probably still miss data for modules that are used primarily for functions or types/providers, like stdlib, though.", "created": "2019-03-27T16:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "That makes sense about sending less data over the wire. We might be able to do the data rollup via some endpoints for aggregating data from PDB, then do filtering on the server-side based on the namespace of installed modules, and from there send the data via the analytics client.", "created": "2019-03-27T17:30:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "If we can grab installed modules+versions as well as used resource types (and titles for classes), we would be theoretically able to correlate the two datasets offline/upstream by foraging the forge for a module<->resource mapping and using that in a huge join. I do not understand our data processing pipeline enough to know if we could actually implement this in a sane way.\n\nI'll talk to the forge folks about the feasibility of the forager.\n\nAs a first iteration, just having the class titles and resource types will provide us at least some insights.", "created": "2019-03-28T04:56:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "I imagine from what PuppetDB knows, we could figure out node counts per class, but module data would be a bit more difficult.\n\nHere's a Class resource example (these are also the fields known for all resources), just note that file and line parameters are allowed to be null. \n \n{code}\n  {\n    \"tags\": [\n      \"apache\",\n      \"127.0.0.1\",\n      \"class\",\n      \"host-1\",\n      \"service\",\n      \"apache::service\"\n    ],\n    \"file\": \"/home/wyatt/.puppet/modules/apache/manifests/init.pp\",\n    \"type\": \"Class\",\n    \"title\": \"Apache::Service\",\n    \"line\": 130,\n    \"resource\": \"c87dd544c31b2aa9aa289f83b2e6871aecc7f96c\",\n    \"environment\": \"production\",\n    \"certname\": \"host-99\",\n    \"parameters\": {\n      \"service_name\": \"apache2\",\n      \"service_enable\": true,\n      \"service_ensure\": \"running\"\n    },\n    \"exported\": false\n  },\n{code}\n\n", "created": "2019-03-28T12:00:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Extra thing to note, legal has determined that we need to hash the module and class names on the collection side, and compare these hashes against hashes of forge module names and classes, to avoid sending potentially sensitive data around.\n\nUpdate: definitely need some clarity on this one, because the metrics are only ultimately useful if we can read which class names they refer to. So at some point they do need to be in the clear. Maybe that is post-filtering?", "created": "2019-03-28T12:30:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "We have prior art that is running stats gathering on the forge corpus and extract the data set we need to reverse the hashes.", "created": "2019-03-29T13:05:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Proposal doc: https://docs.google.com/document/d/1GUNeWCeeUu4KmXgRqzxwoOp4353IuJ8sybpgIt3PE1Q/edit?usp=sharing Please comment with thoughts and additions.", "created": "2019-04-01T10:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Filed https://puppet.atlassian.net/browse/SERVER-2512 to track the work of getting the installed classes grouped by module, with namespace data.", "created": "2019-04-03T12:30:00.000000"}], "components": [], "created": "2019-03-27T11:34:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Write up (in a doc or ticket comments) about the details of this approach, including:\nA) is all the data we need in PDB or do we also need to talk to the forge?\nB) can the data be aggregated in such a way to get both class-specific and module-wide usage counts?"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@208cf716"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztlzj:"}, {"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": "27/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_38762_*|*_3_*:*_2_*:*_510456882_*|*_10009_*:*_1_*:*_1381423470_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_357173"}], "description": "The first goal of the new module metrics is to collect counts of how many nodes are classified with various classes, and which modules they come from.\n\nIt has been suggested that the PDB resource API can provide this data, see https://puppet.com/docs/puppetdb/6.3/api/query/v4/resources.html. We should figure out if the data for this endpoint is sufficient to answer this question, assuming proper filtering of the data (to clear out any custom user class names that could be sensitive) and aggregation of it to show\n1. node counts per class\n2. node count per module\n\nFor the filtering, we should see if there's a way to at least get whether or not a module is supported from PDB. We also want to see if the module's namespace (e.g. 'puppetlabs') is included in the data. That may involve exploring other PDB APIs. If not, we may have to query the forge in addition for this data and cross-check the results from PDB.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16543", "fixedVersions": ["None"], "id": "16543", "issueType": "Task", "key": "SERVER-2508", "labels": [], "originalEstimate": "PT0S", "parent": "16253", "parentSummary": "Module Metrics", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-18T09:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate if PDB class resource data is sufficient for node classification metrics", "timeSpent": "PT0S", "updated": "2019-04-18T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61af86343618cd006f430854", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Also, if we're running PuppetDB on the same node, we may be able to write the processed report directly to the stockpile queue.", "created": "2019-03-19T16:07:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "is there really any safe way to put something into the pdb stockpile queue without going through the API?  ", "created": "2019-03-19T16:15:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Hmm, from the README, I guess not:\n\n{quote}\nStockpile's behavior given unexpected files inside its directory is undefined.\n{quote}\n\nIf we ever decided to combine Puppet Server and PuppetDB into the same JVM process, then we could probably do a direct handoff to the queue.", "created": "2019-03-19T16:45:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Given we're unlikely to rewrite the report processor extension point any time soon and we've written more report processors for PE integrations since this ticket was files (splunk, etc), I'm inclined to close won't do.", "created": "2022-01-12T21:00:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Sounds good to me. If we were to spend time Java-fying more of the Puppet server operations, then the file server, SERVER-2026, is probably the best place to start.\n\nFile requests are more frequent than report uploads, have a smaller scope due to not being fully programmable, and we can likely get a 10x performance boost by staying in Java combined with a 10x increase in available worker threads from not relying on JRuby.", "created": "2022-01-13T08:59:00.000000"}], "components": [], "created": "2019-03-19T15:55: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@5e37b4e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztgyv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_73313_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_89666088640"}], "description": "Right now the puppetdb report processor uses a jruby to run a small piece of ruby code to send the report to puppetdb.  \n\nWe should be able to implement that in clojure and free up that jruby resource for compiling catalogs which is the most important thing that puppetserver needs to do.  \n\nIf we move report processing out to clojure we'd still need a way to run ruby report processors because those are an integration point but we could rewrite the ones we control like puppetdb and store so that they don't require ruby.  \n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16920", "fixedVersions": [], "id": "16920", "issueType": "Improvement", "key": "SERVER-2507", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "resolution": "Won't Do", "resolutionDate": "2022-01-20T10:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move report processors to clojure ( so the puppetdb report processor doesn't use a jruby )", "timeSpent": "PT0S", "updated": "2022-01-20T10:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "#1 complete in https://github.com/puppetlabs/ci-job-configs/pull/5709", "created": "2019-04-03T12:20:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "wrt #4, I've opened a PR to remove 3.x and 4.x agents from our compatiblity matrix since they are both EOLed.\n\nw/ only one cell to test compat (5.x in 6.x branches) a matrix job seem unnecessary (#2 above)\n\nfinally, I don't think we need to track latest for a branch. I think the purpose of the tests are to make sure changes to server don't break compat with existing older agents. In that case, I think the older the agents in a matrix the better.", "created": "2019-04-23T13:40:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Works for me.", "created": "2019-04-23T14:01:00.000000"}], "components": [], "created": "2019-03-15T11:17: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@26f2e87"}, {"fieldName": "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": "SERVER-2505"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztcbr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Apr/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_317219748_*|*_1_*:*_1_*:*_18496_*|*_10007_*:*_2_*:*_11750254_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_444806482_*|*_10005_*:*_2_*:*_2771468466"}], "description": "We currently have a set of compatibility tests that install old versions of Puppet and test them against the server version under test. For Puppet Server 5 there are tests with 3 and 4, and for Puppet Server 6 there are 3, 4, and 5. These tests are each run on all platforms in their own job step as non-blocking steps run in parallel with the full beaker suite (tests from Puppet). In the last two years, they have never failed due to any actual incompatibility between agent and server.\n\nI can think of a couple of ways to improve this setup, assuming we think the tests still have value, and would love to hear other ideas:\n\n1) Run on a canary platform instead of all of them, given that even currently, we do not test on the full range of agent platforms. The tests are simple enough (basically just a single agent run), that the only way platform differences come into play is when a new platform is introduced and the complicated [exclude matrices|https://github.com/puppetlabs/ci-job-configs/blob/master/jenkii/platform/projects/puppetserver.yaml#L94-L96] have to updated to skip it on old versions.\n\n2) Run the jobs in a matrix instead of as three separate jobs, to make rekicking them easier in case of infrastructure failure.\n\n3) Investigate if there's a good way to track 5.x latest, and decide whether it's worth having 5.x behave differently than 3 and 4, because it's under active development.\n\n4) Remove 3.x job, because 3.x is super EOL at this point.", "epicLinkSummary": "Server CI Improvements 2019", "estimate": "PT0S", "externalId": "16542", "fixedVersions": [], "id": "16542", "issueType": "Improvement", "key": "SERVER-2506", "labels": [], "originalEstimate": "PT0S", "parent": "15731", "parentSummary": "Server CI Improvements 2019", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-25T12:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Revisit compat tests structure and utility", "timeSpent": "PT0S", "updated": "2019-04-25T12:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-03-15T11:04:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bbb776d"}, {"fieldName": "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-2"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "Server CI Improvements 2019"}, {"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": "dark_yellow"}, {"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|hylkjz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_170066_*|*_6_*:*_1_*:*_0_*|*_10012_*:*_1_*:*_4161312403"}], "description": "Top ticket items for reducing time futzing around with CI and test suites maintained by the Server Team, for completion following the spring releases.\n\nThis epic should not be added to indefinitely and is not a holding bucket for \"future improvements.\" For those tickets, see SERVER-2117.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15731", "fixedVersions": [], "id": "15731", "issueType": "Epic", "key": "SERVER-2505", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-05-02T15:02:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Server CI Improvements 2019", "timeSpent": "PT0S", "updated": "2021-08-27T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Notice that in your {{gem list}}, there are multiple versions of trollop listed. This causes the warning you're seeing. It probably doesn't actually cause an issue here because hiera-eyaml 2.1.0 can use any of them. The warning can be cleared up by removing unnecessary versions of the gem. We shipped trollop 2.1.2 with hiera-eyaml 2.1.0.\n\nMy guess is this started happening in puppet-agent 5.5.1, when we began shipping hiera-eyaml and trollop in the [agent|https://github.com/puppetlabs/puppet-runtime/pull/42/files]. See PA-1925. Since puppet-agent manages its gem dependencies directly, it likely installed an older version of trollop than your manual install had, leading to the conflict.", "created": "2019-10-01T17:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "In Puppet 6 (PE 2019+), we are now shipping heira-eyaml 3.0.0, so this should no longer be a problem.", "created": "2019-10-01T17:30:00.000000"}], "components": [], "created": "2019-03-14T20:48:00.000000", "creator": "557058:73641053-e19c-46a3-a060-6c9d43a6ed1a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58035049"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hztdxb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17354539471_*|*_6_*:*_1_*:*_0"}], "description": "puppetserver-daemon.log returns following warning message on gem dependency `trollop`\u00a0\n{code:java}WARN: Unresolved specs during Gem::Specification.reset:\n      trollop (~> 2.0)\nWARN: Clearing out unresolved specs.\nPlease report a bug if this causes problems.\n{code}\nThe warning appears to be coming from hiera-eyaml 2.1.0 which depends on trollop gem. The issue persists even after we add trollop 2.0 gem.\u00a0\n{code:java}# puppetserver gem list*** LOCAL GEMS ***deep_merge (1.0.1)\nfacter (2.5.1)\nfast_gettext (1.1.2, 1.1.1)\ngettext (3.2.2)\nhiera-eyaml (2.1.0)\nhighline (1.6.21)\nhocon (1.2.5, 1.1.3)\njar-dependencies (0.2.6)\njruby-openssl (0.9.19 java)\njson (1.8.0 java)\nlocale (2.1.2)\nmulti_json (1.13.1)\noptimist (3.0.0)\npuppetserver-ca (1.1.2)\nrake (10.1.0)\nrdoc (4.1.2)\nsemantic_puppet (0.1.3, 0.1.2)\ntext (1.3.1)\ntrollop (2.9.9, 2.1.2, 2.0)\n{code}\n{code:java}# /opt/puppetlabs/puppet/bin/gem list*** LOCAL GEMS ***bigdecimal (default: 1.3.2) colored (1.2) cri (2.6.1) deep_merge (1.0.1) did_you_mean (1.1.0) ethon (0.9.0) facter (3.11.6, 2.5.1) faraday (0.9.1) faraday_middleware (0.9.1) faraday_middleware-multi_json (0.0.6) fast_gettext (1.1.2) ffi (1.9.10) gettext (3.2.2) gettext-setup (0.30) hiera (3.4.5) hiera-eyaml (2.1.0) highline (1.6.21) hocon (1.2.5) io-console (default: 0.4.6) json (default: 2.0.4) locale (2.1.2) log4r (1.1.10) minitar (0.6.1) minitest (5.10.1) multi_json (1.13.1, 1.11.0) multipart-post (2.0.0) net-ssh (4.2.0) net-telnet (0.1.1) openssl (default: 2.0.7) optimist (3.0.0) pe_backup_tools (1.0.2.7.g394df55) power_assert (0.4.1) psych (default: 2.2.2) puppet (5.5.8) puppet_forge (2.2.8) puppetserver-ca (1.1.2) r10k (2.6.5) rake (12.0.0) rdoc (default: 5.0.0) rugged (0.25.1.1) semantic_puppet (1.0.1, 0.1.2) stomp (1.4.4) test-unit (3.2.3) text (1.3.1) trollop (2.9.9, 2.1.2, 2.0) typhoeus (1.0.2) xmlrpc (0.2.1)\n{code}\nUpgrading hiera-eyaml to 3.0.0 does fix it as it no longer depends on trollop gem. But would like to get a clearer picture on why such odd behaviour. It is unknown on what's the impact of the warning message at the moment.\n\nNote that the issue is only observed after upgrading 2016.4.15 (with hiera-eyaml gem installed) to 2018.1.5 and on Centos 6.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15730", "fixedVersions": [], "id": "15730", "issueType": "Bug", "key": "SERVER-2504", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:73641053-e19c-46a3-a060-6c9d43a6ed1a", "resolution": "Fixed", "resolutionDate": "2019-10-01T17:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Odd behaviour of gem dependency for hiera-eyaml ", "timeSpent": "PT0S", "updated": "2019-10-01T17:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], I'm following up on open tickets targeted at the platform 5.5.11 release - is there anything left to do before this is resolved?", "created": "2019-03-14T10:55:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Nope, it merged itself up and everything.", "created": "2019-03-14T11:14:00.000000"}], "components": [], "created": "2019-03-13T12:30: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@7ae7843d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztcb3:"}, {"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": "14/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_75867478_*|*_1_*:*_1_*:*_1319170_*|*_10007_*:*_1_*:*_4600594_*|*_5_*:*_1_*:*_1062318277_*|*_6_*:*_1_*:*_0"}], "description": "One of Puppet Server's acceptance tests uses Python to pretty-print JSON, see https://github.com/puppetlabs/puppetserver/blob/master/acceptance/suites/tests/code_commands/code_scripts.rb#L220. This has caused us issues before, due to differences in which and whether python is installed across platforms. We should remove this usage of Python from our tests so we no longer have to mess with it every time a new OS changes their default Python installation.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16916", "fixedVersions": ["SERVER 5.3.8", "SERVER 6.0.4", "SERVER 6.3.0"], "id": "16916", "issueType": "Task", "key": "SERVER-2501", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove python usage from puppetserver's acceptance tests", "timeSpent": "PT0S", "updated": "2019-03-26T18:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Tried re-enabling this today, and it looks like there are still issues with the upstream repos for postgres 9.6 on RHEL 8. The error from the module looks like this:\n{code}\nNotice: /Stage[main]/Postgresql::Repo::Yum_postgresql_org/Yumrepo[yum.postgresql.org]/ensure: created\n    Info: Yumrepo[yum.postgresql.org](provider=inifile): changing mode of /etc/yum.repos.d/yum.postgresql.org.repo from 600 to 644\n    Error: Execution of '/usr/bin/dnf -d 0 -e 1 -y install postgresql96-server' returned 1: Error: Unable to find a match\n    Error: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/dnf -d 0 -e 1 -y install postgresql96-server' returned 1: Error: Unable to find a match\n    Notice: /Stage[main]/Postgresql::Server::Initdb/File[/var/lib/pgsql/9.6/data]: Dependency Package[postgresql-server] has failures: true\n{code}", "created": "2019-08-20T15:31:00.000000"}, {"author": "70121:25951121-8efa-4d22-b5f1-b8ba0b6e8419", "body": "Hej, Whats up? I wounder if there is any progress after more then 1.5 years. As It seems still to be and issue on Centos 8. No progress in\u00a0 here. I realy wounder if I miss something as this is a puppetlab supported modules right", "created": "2020-12-01T01:49:00.000000"}, {"author": "5c48bceea1c91017b403122c", "body": "You can work around this problem with\n\n\u00a0 sudo\u00a0dnf module disable postgresql\n\n\u00a0\n\nOf course, you *shouldn't* need to work around it.\n\n\u00a0\n\nbump!", "created": "2021-01-28T16:10:00.000000"}, {"author": "5c48bceea1c91017b403122c", "body": "Also, to get puppetdb to work on CentOS 8 you have to reduce the SSL security level:\n\n\u00a0\n\n\"SSL_connect SYSCALL returned=5 errno=0 state=SSLv3/TLS write finished\"\n\n\u00a0\n\nTo \"fix\" this, reduce the quality of your security with:\n\n\u00a0\n\n\u00a0 sudo update-crypto-policies --set LEGACY\n\n\u00a0\n\nit would be *fantastic* if puppetdb could use a current crypto version.\n\n\u00a0\n\nnomad", "created": "2021-02-10T13:18:00.000000"}, {"author": "557058:3915718f-2673-45b3-a0a6-c7c03ef0754e", "body": "Looking into this a bit I found [puppetlabs-postgresql/pull/1239|https://github.com/puppetlabs/puppetlabs-postgresql/pull/1239] which has a fix for the issue described in this ticket. I was able to test the changes in the pr and they resolved the issue. I also left a comment on the pr and will make sure we update/release the puppetlabs-puppetdb module once the fix goes in. \n\nWith regards to the SSL security issue mentioned above, I was able to reproduce that. I'll continue looking into what we need to change to clear that up next week. We'll try to have a fix for both up in the next release. ", "created": "2021-02-26T17:07:00.000000"}, {"author": "557058:3915718f-2673-45b3-a0a6-c7c03ef0754e", "body": "The puppetlabs-postgresql module with the dnf update has been released. Closing this ticket but have linked PDB-5057 which covers the testing for the fix to allow crypto-policies to remain set at default. Also linked PDB-5060 which will be used to track the release of the PDB module. ", "created": "2021-03-10T14:07:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This needs some additional work to be usable in our acceptance testing, at least on the 6.x branch. I've put up https://github.com/puppetlabs/puppetlabs-puppetdb/pull/337 which I think might get us there.", "created": "2021-10-04T19:18:00.000000"}, {"author": "61af86343618cd006f430854", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] we would like to close this. if we don't support Postgres on RHEL8, I'd like to deal with that separately as a request from Product if/when its a priority for them\n\n\u00a0", "created": "2022-01-12T12:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We do support it, but apparently not installing it via the module. That could use a product decision, as I would consider it very much a bug right now, especially considering those tickets Zak mentioned make it sound like it _should_ work.", "created": "2022-01-12T12:50:00.000000"}], "components": [], "created": "2019-03-13T11:46: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@494dd93f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0674c:"}, {"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": "01/Dec/20"}], "description": "The puppetdb module will not initially have support for RHEL 8, even after we start shipping packages for that platform, due to support lag in its dependent modules. So we have temporarily disabled PDB on RHEL 8 in our puppetserver FOSS tests, see https://github.com/puppetlabs/puppetserver/pull/2014. When the module is supported for that platform, we should re-enable testing with PDB on RHEL 8.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14862", "fixedVersions": [], "id": "14862", "issueType": "Task", "key": "SERVER-2500", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Ready for Merge", "statusCategory": "In Progress", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable PDB on RHEL 8 in server presuite", "timeSpent": "PT0S", "updated": "2022-03-08T13:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-03-12T18:07:00.000000", "creator": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@510260d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztbkv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_160187381_*|*_6_*:*_1_*:*_0"}], "description": "* Update ezbake and beaker-hostgenerator version in puppetlabs/puppetserver for el-8\n * Add el-8 to puppetserver matrices in ci-job-configs\n * Add redhat8\u00a0 to pe-puppet-server-extensions in ci-job-configs", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17190", "fixedVersions": [], "id": "17190", "issueType": "Task", "key": "SERVER-2499", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ad3ba12f-a09f-4f5e-9fff-8660ad829629", "resolution": "Duplicate", "resolutionDate": "2019-03-14T14:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Build and test Puppet Server for el-8", "timeSpent": "PT0S", "updated": "2019-03-14T16:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "/cc [~accountid:557058:68216498-c6bf-4e8f-92c1-ac84887b7c02] [~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] on any insight into how ACE intends to handle the {{job_id}} in the report and whether it has any bearing on this work. Specifically, making sure we don't need to be sending {{job_id}} back with the response for any reason.", "created": "2019-03-11T17:50:00.000000"}, {"author": "557058:68216498-c6bf-4e8f-92c1-ac84887b7c02", "body": "From my reading of https://github.com/puppetlabs/bolt/blob/master/developer-docs/bolt-api-servers.md the only place where bolt-server is interacting with job_id is the {{/plan/run}} endpoint. If necessary for catalog execution, it should be trivial to have ACE read the job_id from the orchestrator when instructed to run puppet for a node, and provide the job_id when retrieving the catalog and when posting the report back.\n\n[~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] does that sound sensible?", "created": "2019-03-12T03:54:00.000000"}, {"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "{{job_id}} is also used during catalog runs which bolt server doesn't handle. It's used to link to reports from a job page so it's important that ACE sends job_id to puppet-server and puppet-server sends it to puppetdb. I don't think it's that important that puppet-server sends it back to ACE but it probably should behave the same way the regular endpoints do.", "created": "2019-03-12T09:12:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Sounds good, all of this matches up with what I understood of how Puppet currently works. The normal endpoints only send back the catalog itself, which doesn't contain {{job_id}}, so that's what we'll do here. Thanks for clarifying!", "created": "2019-03-12T09:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There appears to be a bit of a bug in the PuppetDB terminus, where it looks like the {{job_id}} can be sent along with the catalog to be saved (since it is not present _inside_ the catalog itself), but {{job_id}} is never actually extracted from that additional data. https://github.com/puppetlabs/puppetdb/blob/master/puppet/lib/puppet/indirector/catalog/puppetdb.rb#L23-L28 I'm going to fix that along with the changes to the puppetserver code.\n\nRelated, does orchestrator currently somehow add {{job_id}} to the catalog itself to avoid this bug? Because the compile code in Puppet does not...", "created": "2019-03-12T13:58:00.000000"}], "components": [], "created": "2019-03-11T17:49:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "{{job_id}} is saved along with the catalog compiled via the v4 endpoint"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3030f90f"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hztai7:"}, {"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": "12/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_449755973_*|*_1_*:*_1_*:*_69219_*|*_10007_*:*_2_*:*_135955405_*|*_3_*:*_1_*:*_79107213_*|*_5_*:*_1_*:*_633199729_*|*_6_*:*_1_*:*_0"}], "description": "Normally, when an agent run or a {{puppet apply}} is triggered, if a {{job_id}} accompanies the request, it is saved to PDB along with the catalog. When the catalog is later applied, this {{job_id}} is also included in the report.\n\nFor the v4 endpoint, we need to make sure that when a catalog save is requested, we are also saving the {{job_id}}. This is generally handled by the PDB terminus here https://github.com/puppetlabs/puppetdb/blob/master/puppet/lib/puppet/indirector/catalog/puppetdb.rb#L59, so this might be as simple as making sure to pass {{job_id}} along with the {{save}} request in the options here https://github.com/puppetlabs/puppetserver/blob/master/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L50.\n\nHowever, this might not be sufficient for ACE to also include the {{job_id}} in the reports, because usually that part is handled by the same code that triggers the catalog request (see https://github.com/puppetlabs/puppet/commit/4e05e16306ec250555da43c33e5155bec0fd9346#diff-3bdc5fd6acc30b485dc30ba606c026d6). I think this might also be the responsibility of ACE here too: first to pass the {{job_id}} to the catalog request, then later include the same ID in the generated report. ", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "17189", "fixedVersions": ["SERVER 6.3.0"], "id": "17189", "issueType": "Task", "key": "SERVER-2497", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "v4 catalog endpoint needs to save job_id along with catalog", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Looks like the psych installation is failing because PATH and JAVA_HOME are not set correctly to allow maven to resolve dependencies for the Psych JAR. It seems odd that this process is occurring _after_ the gem skeleton has been written to it's final destination so that a broken library is left behind. Ideally RubyGems should be doing this in a temporary directory that can be cleaned up when the installation aborts.", "created": "2019-03-07T18:43:00.000000"}, {"author": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "body": "Let's add documentation: \"do not run {{puppetserver gem update}}\" or make that sub command harder to run.", "created": "2019-08-26T14:03:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I don't think we should make {{gem update}} harder to run. It's broken because we broke some assumption RubyGems is making and we should figure it out and fix it.", "created": "2019-09-03T19:32:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Do we know if there is a way to invoke {{puppetserver gem update}} so that it behaves appropriately? Seems more useful to document that.", "created": "2019-10-01T16:53:00.000000"}], "components": [], "created": "2019-03-07T18:37:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@75964a0e"}, {"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|hyk48n:q0200000jr0k8ri2402"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Mar/19"}], "description": "For Puppet Server versions the use JRuby 9k, running {{puppetserver gem update}} without any arguments will attempt to update the psych gem that Ruby uses to load YAML. This update will fail, leaving Puppet Server and the {{puppetserver gem}} non-functional as the YAML library is broken.\n\nh2. Reproduction Case\n\n  - Install PE 2018.1.7 on CentOS 7\n\n  - Run: {{/opt/puppetlabs/bin/puppetserver gem update}}\n\nh3. Outcome\n\nUpdate fails after attempting to install psych:\n\n{noformat}\n[root@e310mnsiy2vq9j7 puppet-enterprise-2018.1.7-el-7-x86_64]# /opt/puppetlabs/bin/puppetserver gem update\nUpdating installed gems\nUpdating deep_merge\nFetching: deep_merge-1.2.1.gem (100%)\nSuccessfully installed deep_merge-1.2.1\nUpdating did_you_mean\nFetching: did_you_mean-1.3.0.gem (100%)\nERROR:  Error installing did_you_mean:\n\tdid_you_mean requires Ruby version >= 2.5.0.\nUpdating fast_gettext\nFetching: fast_gettext-2.0.0.gem (100%)\nSuccessfully installed fast_gettext-2.0.0\nUpdating gettext\nFetching: gettext-3.2.9.gem (100%)\nSuccessfully installed gettext-3.2.9\nUpdating hiera-eyaml\nFetching: optimist-3.0.0.gem (100%)\nSuccessfully installed optimist-3.0.0\nFetching: hiera-eyaml-3.0.0.gem (100%)\nSuccessfully installed hiera-eyaml-3.0.0\nUpdating highline\nFetching: highline-2.0.1.gem (100%)\nSuccessfully installed highline-2.0.1\nUpdating jar-dependencies\nFetching: jar-dependencies-0.4.0.gem (100%)\n\nif you want to use the executable lock_jars then install ruby-maven gem before using lock_jars\n\n  $ gem install ruby-maven -v '~> 3.3.11'\n\nor add it as a development dependency to your Gemfile\n\n   gem 'ruby-maven', '~> 3.3.11'\n\nSuccessfully installed jar-dependencies-0.4.0\nUpdating jruby-openssl\nFetching: jruby-openssl-0.10.2-java.gem (100%)\nSuccessfully installed jruby-openssl-0.10.2-java\nUpdating json\nFetching: json-2.2.0-java.gem (100%)\nSuccessfully installed json-2.2.0-java\nUpdating minitest\nFetching: minitest-5.11.3.gem (100%)\nSuccessfully installed minitest-5.11.3\nUpdating net-telnet\nFetching: net-telnet-0.2.0.gem (100%)\nSuccessfully installed net-telnet-0.2.0\nUpdating power_assert\nFetching: power_assert-1.1.3.gem (100%)\nSuccessfully installed power_assert-1.1.3\nUpdating psych\nFetching: psych-3.1.0-java.gem (100%)\n  jar dependencies for psych-3.1.0-java.gemspec . . .\nInstalling gem 'ruby-maven' . . .\nFetching: ruby-maven-libs-3.3.9.gem (100%)\nSuccessfully installed ruby-maven-libs-3.3.9\nFetching: ruby-maven-3.3.12.gem (100%)\nSuccessfully installed ruby-maven-3.3.12\n\nusing maven for the first time results in maven\ndownloading all its default plugin and can take time.\nas those plugins get cached on disk and further execution\nof maven is much faster then the first time.\n\nwhich: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)\nwhich: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)\nError: JAVA_HOME is not defined correctly.\n  We cannot execute\nERROR:  While executing gem ... (Errno::ENOENT)\n    No such file or directory - /opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/deps.lst\n{noformat}\n\nAfterwards, {{puppetserver gem uninstall}} is broken:\n\n{noformat}\n[root@e310mnsiy2vq9j7 puppet-enterprise-2018.1.7-el-7-x86_64]# /opt/puppetlabs/bin/puppetserver gem uninstall psych\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/lib/psych.rb:10: warning: already initialized constant SNAKEYAML_VERSION\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/lib/psych.rb:10: warning: already initialized constant ANY\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/lib/psych.rb:10: warning: already initialized constant UTF8\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/lib/psych.rb:10: warning: already initialized constant UTF16LE\n/opt/puppetlabs/server/data/puppetserver/jruby-gems/gems/psych-3.1.0-java/lib/psych.rb:10: warning: already initialized constant UTF16BE\nuri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1:in `require':\n\n\u25bd\nIt seems your ruby installation is missing psych (for YAML output).\nTo eliminate this warning, please install libyaml and reinstall your ruby.\nLoadError: load error: psych -- java.lang.NoClassDefFoundError: Could not initialize class org.jruby.ext.psych.PsychEmitter\n           require at org/jruby/RubyKernel.java:956\n           require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55\n            <main> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/yaml.rb:6\n           require at org/jruby/RubyKernel.java:956\n            (root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1\n           require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55\n         load_yaml at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:701\n         load_file at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/config_file.rb:340\n        initialize at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/config_file.rb:202\n  do_configuration at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:75\n            <main> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:40\n              load at org/jruby/RubyKernel.java:974\n            <main> at /opt/puppetlabs/server/apps/puppetserver/jruby-9k.jar!/META-INF/jruby.home/bin/jgem:21\n              load at org/jruby/RubyKernel.java:974\n            <main> at -e:1\n{noformat}\n\n\nh3. Expected Outcome\n\nAttempting to upgrade {{psych}} does not break Puppet Server.\n\nh3. Reccomended workaround\n\nManually remove the files related to the broken Psych gem using a {{find -delete}} operation:\n\n{code:bash}\nfind /opt/puppetlabs/server/data/puppetserver/jruby-gems/ -name 'psych*' -exec rm -rf {} +\n{code}", "environment": "PE 2018.1 or Puppetserver 5.x with JRuby 9k enabled\n\nPE 2019.0 and Puppetserver 6.x", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14861", "fixedVersions": [], "id": "14861", "issueType": "Bug", "key": "SERVER-2495", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver gem update breaks YAML loading on JRuby 9k", "timeSpent": "PT0S", "updated": "2022-03-09T09:34:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:59:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70d4556a"}, {"fieldName": "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-9543"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt87j:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2624_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1522495368"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-03-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "estimate": "PT0S", "externalId": "15059", "fixedVersions": [], "id": "15059", "issueType": "Task", "key": "SERVER-2494", "labels": [], "originalEstimate": "PT0S", "parent": "20064", "parentSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-25T09:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.3.0)", "timeSpent": "PT0S", "updated": "2019-03-25T09:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] is this done?", "created": "2019-03-25T07:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yep!", "created": "2019-03-25T08:55:00.000000"}], "components": [], "created": "2019-03-07T17:59:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@471b22fe"}, {"fieldName": "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-9543"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt873:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2489_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1518952144"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-03-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "estimate": "PT0S", "externalId": "17460", "fixedVersions": [], "id": "17460", "issueType": "Task", "key": "SERVER-2493", "labels": [], "originalEstimate": "PT0S", "parent": "20064", "parentSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-25T08:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.3.0)", "timeSpent": "PT0S", "updated": "2019-03-25T10:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:59:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ad629"}, {"fieldName": "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-9543"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt86v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2388_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1203969764"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-03-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "estimate": "PT0S", "externalId": "17188", "fixedVersions": [], "id": "17188", "issueType": "Task", "key": "SERVER-2492", "labels": [], "originalEstimate": "PT0S", "parent": "20064", "parentSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-21T17:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.3.0)", "timeSpent": "PT0S", "updated": "2019-03-21T17:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:59:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@747ae41f"}, {"fieldName": "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-9543"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt86n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2385_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_658747926"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-03-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "estimate": "PT0S", "externalId": "16921", "fixedVersions": [], "id": "16921", "issueType": "Task", "key": "SERVER-2491", "labels": [], "originalEstimate": "PT0S", "parent": "20064", "parentSummary": "Puppet Platform 6.4.0 Release - 2019-03-26\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-15T09:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.3.0)", "timeSpent": "PT0S", "updated": "2019-03-15T09:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:48:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5740176"}, {"fieldName": "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-9533"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7uf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2500_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204611740"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-03-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "estimate": "PT0S", "externalId": "15729", "fixedVersions": [], "id": "15729", "issueType": "Task", "key": "SERVER-2490", "labels": [], "originalEstimate": "PT0S", "parent": "24342", "parentSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-21T17:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.0.4)", "timeSpent": "PT0S", "updated": "2019-03-21T17:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:48:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@154bc886"}, {"fieldName": "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-9533"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7tz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2532_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204029885"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-03-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "estimate": "PT0S", "externalId": "15057", "fixedVersions": [], "id": "15057", "issueType": "Task", "key": "SERVER-2489", "labels": [], "originalEstimate": "PT0S", "parent": "24342", "parentSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-21T17:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.0.4)", "timeSpent": "PT0S", "updated": "2019-03-21T17:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:48:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5bfcd699"}, {"fieldName": "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-9533"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7tr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2808_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204011562"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-03-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "estimate": "PT0S", "externalId": "14860", "fixedVersions": [], "id": "14860", "issueType": "Task", "key": "SERVER-2488", "labels": [], "originalEstimate": "PT0S", "parent": "24342", "parentSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-21T17:14:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.0.4)", "timeSpent": "PT0S", "updated": "2019-03-21T17:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:47:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49d44e9"}, {"fieldName": "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-9533"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7tj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2277_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_658060229"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-03-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "estimate": "PT0S", "externalId": "17459", "fixedVersions": [], "id": "17459", "issueType": "Task", "key": "SERVER-2487", "labels": [], "originalEstimate": "PT0S", "parent": "24342", "parentSummary": "Puppet Platform 6.0.7 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-03-15T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.0.4)", "timeSpent": "PT0S", "updated": "2019-03-15T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:38:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4fd9a304"}, {"fieldName": "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-9523"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7nb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2428_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204392079"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-03-27T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "estimate": "PT0S", "externalId": "16541", "fixedVersions": [], "id": "16541", "issueType": "Task", "key": "SERVER-2486", "labels": [], "originalEstimate": "PT0S", "parent": "26336", "parentSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-03-21T17:12:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.8)", "timeSpent": "PT0S", "updated": "2019-03-21T17:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:38:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@72acec78"}, {"fieldName": "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-9523"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7mv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2400_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204398532"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-03-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "estimate": "PT0S", "externalId": "16075", "fixedVersions": [], "id": "16075", "issueType": "Task", "key": "SERVER-2485", "labels": [], "originalEstimate": "PT0S", "parent": "26336", "parentSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-03-21T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.8)", "timeSpent": "PT0S", "updated": "2019-03-21T17:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:38:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b42c08"}, {"fieldName": "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-9523"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7mn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2509_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1204395440"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-03-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "estimate": "PT0S", "externalId": "15728", "fixedVersions": [], "id": "15728", "issueType": "Task", "key": "SERVER-2484", "labels": [], "originalEstimate": "PT0S", "parent": "26336", "parentSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-03-21T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.8)", "timeSpent": "PT0S", "updated": "2019-03-21T17:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:38:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b609a5b"}, {"fieldName": "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-9523"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7mf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2333_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_504951557"}], "description": "(Initial planned release date: 2019-03-26)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-03-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "estimate": "PT0S", "externalId": "15456", "fixedVersions": [], "id": "15456", "issueType": "Task", "key": "SERVER-2483", "labels": [], "originalEstimate": "PT0S", "parent": "26336", "parentSummary": "Puppet Platform 5.5.12 Release - 2019-03-26", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Done", "resolutionDate": "2019-03-13T14:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.8)", "timeSpent": "PT0S", "updated": "2019-03-13T14:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-03-07T17:26: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@7cf93bd0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7hj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_86638780_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3511362183_*|*_10005_*:*_1_*:*_58089026091"}], "description": "Once the analytics service has been open-sourced, we should move the generic server-side code from pe-pse in puppetserver, which gives us the option of adding metrics for FOSS, notably metrics about module usage.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16261", "fixedVersions": [], "id": "16261", "issueType": "Task", "key": "SERVER-2482", "labels": [], "originalEstimate": "PT0S", "parent": "16076", "parentSummary": "Add metrics to open source Puppet Server", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2021-02-18T16:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move analytics service server code from pe-pse to puppetserver", "timeSpent": "PT0S", "updated": "2021-02-18T16:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The client has been open-sourced, and a public artifact published: https://clojars.org/puppetlabs/analytics-client", "created": "2019-04-22T12:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The service has been open-sourced and a public artifact published: https://clojars.org/puppetlabs/analytics", "created": "2019-04-22T16:29:00.000000"}], "components": [], "created": "2019-03-07T17:25:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Analytics service is open-source\n* Analytics client is open-source"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58899c2b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt7hb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_86707009_*|*_10007_*:*_1_*:*_282116694_*|*_3_*:*_2_*:*_74872844_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_6713528_*|*_10006_*:*_1_*:*_3511361891_*|*_10005_*:*_1_*:*_5668962"}], "description": "Once the PE metrics have been pulled out of the analytics service, we can open-source the generic core of the service. This should include any necessary docs updates. We should also open source the analytics client, so it can be used by contributors.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16074", "fixedVersions": [], "id": "16074", "issueType": "Task", "key": "SERVER-2481", "labels": [], "originalEstimate": "PT0S", "parent": "16253", "parentSummary": "Module Metrics", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-22T16:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Open-source the analytics service", "timeSpent": "PT0S", "updated": "2019-04-22T17:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-03-06T17:09: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@75ae6c3a"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt6dr:"}, {"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_*:*_520757539_*|*_1_*:*_1_*:*_41226_*|*_10007_*:*_1_*:*_80938394_*|*_3_*:*_1_*:*_493978000_*|*_5_*:*_1_*:*_633213815_*|*_6_*:*_1_*:*_0"}], "description": "The current code passes {{job_id}} into Puppet's {{compile}} method, where {{code_id}} is expected. We should fix this and find the proper way to thread {{code_id}} through instead, so it can be used in the compile to support static catalogs.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "15455", "fixedVersions": ["SERVER 6.3.0"], "id": "15455", "issueType": "Task", "key": "SERVER-2479", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Correctly plumb through `code_id`", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-03-06T11:29:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Server no longer requires the {{infra_serials}} file to be present on startup\n* The CA CLI gem no longer requires the {{infra_serials}} file to be absent, nor creates it."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5902608"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzt5jb:"}, {"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_*:*_506851494_*|*_1_*:*_1_*:*_10167_*|*_10007_*:*_1_*:*_178230855_*|*_3_*:*_1_*:*_3664244_*|*_5_*:*_1_*:*_1060430035_*|*_6_*:*_1_*:*_0"}], "description": "When we introduced the Infrastructure CRL, we required all three of its component files to be present at startup when the feature is enabled. However, the {{infra_serials}} file is always updated by Puppet Server on startup, to contain the serials of the certs listed in {{infra_inventory}}. So when first toggling this setting on, it doesn't really make sense to require this file to be there, and this requirement was complicating workflows.\n\nThis ticket tracks the work to remove this requirement, both in Puppet Server and the CA CLI gem's {{enable --infra-crl}} command.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16073", "fixedVersions": ["SERVER 6.0.4", "SERVER 6.3.0"], "id": "16073", "issueType": "Improvement", "key": "SERVER-2478", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-14T11:48:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make infra_serials file not required to start puppetserver", "timeSpent": "PT0S", "updated": "2019-03-26T18:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-02-27T16:24: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@1ac7bce6"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsxmn:"}, {"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_*:*_503522139_*|*_1_*:*_1_*:*_19651_*|*_3_*:*_1_*:*_594005082_*|*_5_*:*_1_*:*_633150821_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_605735549"}], "description": "The requests that currently go through JRuby are wrapped with a special handler that will tell the requesters to try again later if too many requests are queued up against the server. See https://github.com/puppetlabs/puppetserver/pull/1365. \n\nWe should use this for the new v4 catalog endpoint so that requests don't queue up indefinitely against the resource constraint of the JRuby pool, which it shares with the v3 endpoints, even though it doesn't use their other request handling.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "14859", "fixedVersions": ["SERVER 6.3.0"], "id": "14859", "issueType": "Task", "key": "SERVER-2477", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add request queue handler to v4 catalog endpoint", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2019-02-25T16:35: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@53e7c409"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2mv:"}, {"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_*:*_178877997_*|*_1_*:*_1_*:*_9782_*|*_10007_*:*_1_*:*_509829722_*|*_3_*:*_1_*:*_116395440_*|*_5_*:*_1_*:*_1642576638_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_60862426"}], "description": "The catalog endpoint implemented in the CD4PE module attaches the logs generated during compilation to the JSON body of the response that returns the catalog. See https://github.com/puppetlabs/puppetlabs-cd4pe/blob/master/lib/puppet_x/puppetlabs/cd4pe_api/compile_handler.rb#L65-L71. This allows warnings that happen during compile to be surfaced more easily to the user, which is especially important in the case of deprecation warnings, because it allows the code writers to get ahead of incoming changes. We should also add these logs to the response of our new v4 catalog API.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16918", "fixedVersions": ["SERVER 6.3.0"], "id": "16918", "issueType": "Task", "key": "SERVER-2475", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add compilation logs to v4 catalog response", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I have put up a PR for this that still has some open questions on it.", "created": "2019-02-25T17:59:00.000000"}], "components": [], "created": "2019-02-21T17:38: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@76e1ce8a"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsxmf:"}, {"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_*:*_12009_*|*_10007_*:*_1_*:*_1284773741_*|*_3_*:*_1_*:*_282535741_*|*_5_*:*_1_*:*_1218792883_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_64235548"}], "description": "The new catalog endpoint takes a somewhat complex JSON body with many optional params. We should document all the ways in which the new endpoint can be used, and describe what all the defaults are if not all params are used.\n\nThe docs for our existing endpoints are in two parts:\n1) text description of the request and response structures (ex. https://github.com/puppetlabs/puppetserver/blob/master/documentation/puppet-api/v3/tasks.markdown)\n2) JSON schema of the response (ex. https://github.com/puppetlabs/puppetserver/blob/master/documentation/puppet-api/v3/tasks.json)\n\nWe should send this along to the consuming teams when we give it to them with a test run, and update the docs with the results of their experiments with the endpoint, to make sure we've covered as many pitfalls as possible.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "15056", "fixedVersions": ["SERVER 6.3.0"], "id": "15056", "issueType": "Task", "key": "SERVER-2474", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Write docs for new catalog endpoint", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We'll keep the code around for this and use it for testing any major changes we make to the v4 endpoint in the future.", "created": "2019-03-14T17:06:00.000000"}], "components": [], "created": "2019-02-21T12:23:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5403fb99"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsxbz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9826_*|*_3_*:*_1_*:*_1827788149_*|*_5_*:*_1_*:*_0"}], "description": "This is not code that will end up actually being merged.\n\nIn order to increase the test coverage of the v4 endpoint, we should route the v3 requests through the v4 logic to see any gaps in our implementation for the new catalog compilation.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16072", "fixedVersions": [], "id": "16072", "issueType": "Task", "key": "SERVER-2473", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Done", "resolutionDate": "2019-03-14T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Route the v3 endpoint to v4 to increase test coverage", "timeSpent": "PT0S", "updated": "2019-03-14T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is completed to the extent that it can be currently in the PR for SERVER-2532 (https://github.com/puppetlabs/puppetserver/pull/2066). To finish this we are currently blocked on some rework that needs to happen in the Transports loading, see FM-8092 for that.", "created": "2019-05-22T17:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm going to mark this as done, since we have a separate ticket for tracking the remaining work.", "created": "2019-08-06T12:24:00.000000"}], "components": [], "created": "2019-02-21T11:54: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@23841b8c"}, {"fieldName": "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": "SERVER-2467"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsx9z:"}, {"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": "22/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9371_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_6546591266_*|*_10006_*:*_1_*:*_2354086217_*|*_10005_*:*_1_*:*_5439886253"}], "description": "*Note:* this ticket is a placeholder that should be broken up, either into subtasks or whole separate tickets.\n\nThe business logic of the remote transport API endpoint is to query the Resource API for its available transports. \n\nThese transports come from modules and so are environment-specific. This means we will need to make sure we load only those pertinent to the requested environment. This loading might be done for us by the Resource API, not sure yet. \n\nWe should also look into storing the data in the environment cache (I'm unclear on what this entails at this point).\n\n The resulting data hash then need to be surfaced up to the Clojure layer as the response for the request.", "epicLinkSummary": "Remote Transport API", "estimate": "PT0S", "externalId": "14858", "fixedVersions": ["SERVER 6.4.0"], "id": "14858", "issueType": "Task", "key": "SERVER-2472", "labels": [], "originalEstimate": "PT0S", "parent": "14857", "parentSummary": "Remote Transport API", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-08-06T12:24:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Query Resource API for available remote transports", "timeSpent": "PT0S", "updated": "2019-08-06T12:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2019-02-21T11:44: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@5b6914e8"}, {"fieldName": "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": "SERVER-2467"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsx73:"}, {"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_*:*_1610744962_*|*_1_*:*_1_*:*_13999_*|*_10007_*:*_2_*:*_1492598677_*|*_3_*:*_1_*:*_859931502_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_436350056_*|*_10006_*:*_1_*:*_342062837_*|*_10005_*:*_1_*:*_5440493098"}], "description": "We can begin working on the Clojure scaffolding and unit testing for the remote transport endpoint, even before the relevant Ruby code has been added to the Resource API. This work is likely similar to what was done in SERVER-2437 (https://github.com/puppetlabs/puppetserver/commit/2deb686496862e30272b9cf05f07f7419cbbfe7a), and should be based on the API schema determined in SERVER-2470.", "epicLinkSummary": "Remote Transport API", "estimate": "PT0S", "externalId": "17458", "fixedVersions": ["SERVER 6.4.0"], "id": "17458", "issueType": "Task", "key": "SERVER-2471", "labels": [], "originalEstimate": "PT0S", "parent": "14857", "parentSummary": "Remote Transport API", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-06-19T09:07:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add clojure skeleton for remote transport endpoint", "timeSpent": "PT0S", "updated": "2019-06-19T09:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "emailed dumpling", "created": "2019-04-25T17:47:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is what I hashed out with the dumpling team:\n{code}\nGET /puppet/v3/environment-transports?environment=<environment-name>\n\nWith the same errors and e-tag handling as environment-classes\nAccepts only json\n\nReturns json:\n{\n  \"name\": \"<environment-name>\",\n  \"transports\": [ TransportSchema* ]\n}\n\nWhere * means 0 or more, and TransportSchema is:\n{\n  \"name\": \"<user-friendly-name>\",\n  \"desc\": \"<user-friendly-description>\",\n  ***\"id\": \"<machine-friendly-id>\",\n  \"connection_info\": ConnectionInfo\n}\n\nAnd ConnectionInfo is a mandatory object with string keys that do double duty as the name of the connection param and the value is an object that contains type, description, and sensitivity ie:\n{\n  \"<connection-param-name>\": {\n    \"type\": \"pcore-type-name>\",\n    \"desc\": \"<param-description>\",\n    ***\"sensitive\": true | false\n  }\n}\n\nAnd *** marks fields that I'll investigate further with the Network Automation team.\n{code}\n\nI need to email the Network Automation team to resolve the semantics around the \"name\" field as well as the possible inclusion of \"sensitive\" and \"id\" fields. I don't think that will block beginning on the next ticket though.\n\nAlso, reading through the Ruby code that implements list I didn't see how the compiler would automatically discover existing transports (they seem like an autoloaded extension like types and providers which aren't loaded on the server), but that may be from my lack of familiarity with the Resource API.\n\nNote: the console will only request & show information from the production environment.", "created": "2019-04-29T11:00:00.000000"}], "components": [], "created": "2019-02-21T11:40: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@2f8df0c3"}, {"fieldName": "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": "SERVER-2467"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsx6n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Apr/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_17994_*|*_3_*:*_1_*:*_5261185_*|*_10009_*:*_1_*:*_281941584_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_321191766_*|*_10006_*:*_1_*:*_15578609_*|*_10005_*:*_1_*:*_5440739405"}], "description": "The remote transport endpoint needs to query the Resource API about available transports for managing remote resources on agentless nodes. We need to specify where this endpoint belongs, its inputs, and the structure of the data it returns.\n\nWe know that the Ruby method for listing the transports will return a Hash of metadata about the available transports, see https://github.com/puppetlabs/puppet-resource_api/commit/bd3a21e0abd825f55ef928189d5ebb8a256b7c6c for the current basic implementation.\n\nWe should then validate this schema with the expectations of the PE Console, which will be the main consumer of the endpoint.", "epicLinkSummary": "Remote Transport API", "estimate": "PT0S", "externalId": "16915", "fixedVersions": [], "id": "16915", "issueType": "Task", "key": "SERVER-2470", "labels": [], "originalEstimate": "PT0S", "parent": "14857", "parentSummary": "Remote Transport API", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-05-02T17:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Define API schema for remote transport API", "timeSpent": "PT0S", "updated": "2019-05-22T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "There are a few different parameters to this endpoint that could also come from classification. Should we fill in exactly the ones that are not supplied? Have one control the whole thing? Separate flag?", "created": "2019-02-25T15:49:00.000000"}], "components": [], "created": "2019-02-20T15:38: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@e384333"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2mf:"}, {"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/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_520786580_*|*_1_*:*_1_*:*_11141_*|*_10007_*:*_1_*:*_78687768_*|*_3_*:*_1_*:*_1203596143_*|*_5_*:*_1_*:*_633180585_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_507676421"}], "description": "We can already support the case where environment and classes are passed along with the catalog request, but we also need to support fetching that information from the classifier when it is not supplied. This feature is almost certainly needed for ACE proxy compilation (see PE-25621) and possibly also for CD4PE Impact analysis (see PE-25714), where the environment will be supplied but not the classes for the node.\n\nExample of existing CD4PE endpoint doing this: https://github.com/puppetlabs/puppetlabs-cd4pe/blob/master/lib/puppet/indirector/node/cdpe.rb#L132-L169", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16260", "fixedVersions": ["SERVER 6.3.0"], "id": "16260", "issueType": "Task", "key": "SERVER-2468", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Retrieve environment and classification from the classifier", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-02-19T10:22:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@db29ec"}, {"fieldName": "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": "Remote Transport API"}, {"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": "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|hympw7:"}, {"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": "Added a new API endpoint to at {{/puppet/v3/environment_transports}}, to list all of the available network transports from modules, for use with the Agentless Catalog Executor."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_177747300_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_7685307537_*|*_10013_*:*_1_*:*_6655897640"}], "description": "Puppetserver needs to surface data about available transports for remote resources. The resource API will provide the data via the {{ResourceAPI::Transport}} type. The transports are loaded from network modules, so the available transports can differ per environment. The endpoint needs to surface which transports have been loaded for a given environment. The main consumer is the PE console.\n\nThe relevant code in the Resource API is currently on a branch here: https://github.com/puppetlabs/puppet-resource_api/tree/transport. It will need to be available in puppet-agent before it can be used by puppetserver.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14857", "fixedVersions": ["SERVER 6.4.0"], "id": "14857", "issueType": "Epic", "key": "SERVER-2467", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-08-06T12:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remote Transport API", "timeSpent": "PT0S", "updated": "2021-08-23T10:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623a47dc94742a00683d6fdd", "created": "2019-02-18T09:04:00.000000", "name": "etc-sysconfig-puppetserver.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10672"}, {"attacher": "623a47dc94742a00683d6fdd", "created": "2019-02-18T08:58:00.000000", "name": "puppet.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10886"}, {"attacher": "623a47dc94742a00683d6fdd", "created": "2019-02-18T08:58:00.000000", "name": "puppetserver.conf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10814"}, {"attacher": "623a47dc94742a00683d6fdd", "created": "2019-02-18T08:58:00.000000", "name": "puppetserver.log.gz", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10742"}], "comments": [{"author": "623a47dc94742a00683d6fdd", "body": "Solved. Config issue. changed 'localhost' to FQDN of my puppet master. Also it seems that I uncommented a line that was meant to be a comment.", "created": "2019-02-18T09:39:00.000000"}, {"author": "623a47dc94742a00683d6fdd", "body": "Configuration issue. please ignore.", "created": "2019-02-18T09:42:00.000000"}], "components": ["Puppet Server"], "created": "2019-02-18T09:05:00.000000", "creator": "623a47dc94742a00683d6fdd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@510bc8b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzsumn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_2185067_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5.10*\n *Puppet Server Version: 5.3.7*\n *OS Name/Version: RHEL 7.6*\n\nDescribe your issue in as much detail as possible\u2026\n\nWhen enabling the graphite metrics in /etc/puppetlabs/puppetserver/conf.d/metrics.conf :\n\n\u00a0\n{code:java}\nmetrics: {\n    # a server id that will be used as part of the namespace for metrics produced\n    # by this server\n    server-id: localhost\n    registries: {\n        puppetserver: {\n            # specify metrics to allow in addition to those in the default list\n            #metrics-allowed: [\"compiler.compile.production\"]            reporters: {\n                # enable or disable JMX metrics reporter\n                jmx: {\n                    enabled: true\n                }\n                 enable or disable Graphite metrics reporter\n                graphite: {\n                    enabled: true\n                }\n            }        }\n    }    # this section is used to configure settings for reporters that will send\n    # the metrics to various destinations for external viewing\n    reporters: {\n        graphite: {\n            # graphite host\n            host: \"tice-rhel7prod.jhuapl.edu\"\n            # graphite metrics port\n            port: 3000\n            # how often to send metrics to graphite\n            update-interval-seconds: 5\n        }\n    }\n\n{code}\nThe puppetserver fails to restart. Here are the errors I noticed in the logs:\n{code:java}\n2019-02-18 10:41:38,886 ERROR [qtp1501096310-66] [p.r.core] Internal Server Error: java.lang.InterruptedException\n        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)\n        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2088)\n        at com.puppetlabs.jruby_utils.pool.JRubyPool.borrowItemWithTimeout(JRubyPool.java:194)\n        at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:498)\n        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30528$borrow_with_timeout_fn__30533$fn__30534.invoke(jruby_internal.clj:133)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30528$borrow_with_timeout_fn__30533.invoke(jruby_internal.clj:130)\n        at clojure.core$partial$fn__4759.invoke(core.clj:2515)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30891$borrow_from_pool_BANG__STAR___30896$fn__30897.invoke(jruby_internal.clj:271)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30891$borrow_from_pool_BANG__STAR___30896.invoke(jruby_internal.clj:264)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30938$borrow_from_pool_with_timeout__30943$fn__30944.invoke(jruby_internal.clj:312)\n        at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval30938$borrow_from_pool_with_timeout__30943.invoke(jruby_internal.clj:301)\n        at puppetlabs.services.jruby_pool_manager.jruby_core$eval32153$borrow_from_pool_with_timeout__32158$fn__32159.invoke(jruby_core.clj:212)\n        at puppetlabs.services.jruby_pool_manager.jruby_core$eval32153$borrow_from_pool_with_timeout__32158.invoke(jruby_core.clj:199)\n        at puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__33241.invoke(jruby_request.clj:46)\n        at puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__33237.invoke(jruby_request.clj:33)\n        at puppetlabs.services.request_handler.request_handler_service$reify__33338$service_fnk__5266__auto___positional$reify__33353.handle_request(request_handler_service.clj:47)\n        at puppetlabs.services.protocols.request_handler$eval29051$fn__29052$G__29043__29055.invoke(request_handler.clj:3)\n        at puppetlabs.services.protocols.request_handler$eval29051$fn__29052$G__29042__29059.invoke(request_handler.clj:3)\n        at clojure.core$partial$fn__4759.invoke(core.clj:2515)\n        at puppetlabs.trapperkeeper.authorization.ring_middleware$eval40038$wrap_authorization_check__40047$fn__40050$fn__40051.invoke(ring_middleware.clj:284)\n        at puppetlabs.ring_middleware.core$eval22014$wrap_bad_request__22023$fn__22026$fn__22032.invoke(core.clj:170)\n        at puppetlabs.ring_middleware.core$eval22112$wrap_uncaught_errors__22121$fn__22124$fn__22129.invoke(core.clj:216)\n        at puppetlabs.ring_middleware.core$eval21739$wrap_request_logging__21744$fn__21745$fn__21747.invoke(core.clj:47)\n        at puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n        at puppetlabs.ring_middleware.core$eval21768$wrap_response_logging__21773$fn__21774$fn__21775.invoke(core.clj:53)\n        at puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__17457.invoke(ringutils.clj:83)\n        at puppetlabs.services.master.master_core$eval38344$v3_ruby_routes__38349$fn__38350$fn__38357.invoke(master_core.clj:727)\n        at bidi.ring$eval23056$fn__23057.invoke(ring.cljc:25)\n        at bidi.ring$eval23035$fn__23036$G__23026__23045.invoke(ring.cljc:16)\n        at puppetlabs.comidi$make_handler$fn__25166.invoke(comidi.clj:245)\n        at puppetlabs.metrics.http$eval37522$wrap_with_request_metrics__37527$fn__37531$fn__37533$fn__37534$fn__37535.invoke(http.clj:152)\nat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n        at com.codahale.metrics.Timer.time(Timer.java:101)\n        at puppetlabs.metrics.http$eval37522$wrap_with_request_metrics__37527$fn__37531$fn__37533$fn__37534.invoke(http.clj:152)\n        at puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n        at com.codahale.metrics.Timer.time(Timer.java:101)\n        at puppetlabs.metrics.http$eval37522$wrap_with_request_metrics__37527$fn__37531$fn__37533.invoke(http.clj:148)\n        at puppetlabs.comidi$eval25227$wrap_with_route_metadata__25232$fn__25233$fn__25235.invoke(comidi.clj:332)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__35409.invoke(jetty9_core.clj:434)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:498)\n        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n        at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$eval34985$normalize_uri_handler__34990$fn__34991$fn__34992.invoke(normalized_uri_helpers.clj:74)\n        at puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n        at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)\n        at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n        at com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n        at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n        at org.eclipse.jetty.server.Server.handle(Server.java:531)\n        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)\n        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)\n        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:291)\n        at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:151)\n        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\n        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)\n        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)\n        at java.lang.Thread.run(Thread.java:748)\n{code}\nand\n{code:java}\n2019-02-18 10:41:38,893 ERROR [async-dispatch-3] [p.t.s.w.jetty9-core] Web server failed to shut down gracefully in configured timeout period (30,000); cancelling remaining requests.\njava.util.concurrent.TimeoutException: null\n        at org.eclipse.jetty.util.FutureCallback.get(FutureCallback.java:128)\n        at org.eclipse.jetty.util.FutureCallback.get(FutureCallback.java:30)\n        at org.eclipse.jetty.server.Server.doStop(Server.java:460)\n        at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:498)\n        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n        at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:313)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval35603$shutdown__35608$fn__35612$fn__35614.invoke(jetty9_core.clj:607)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval35603$shutdown__35608$fn__35612.invoke(jetty9_core.clj:606)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval35603$shutdown__35608.invoke(jetty9_core.clj:598)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_service$reify__36516$service_fnk__5266__auto___positional$reify__36523.stop(jetty9_service.clj:71)\n        at puppetlabs.trapperkeeper.services$eval5068$fn__5095$G__5060__5098.invoke(services.clj:9)\n        at puppetlabs.trapperkeeper.services$eval5068$fn__5095$G__5059__5102.invoke(services.clj:9)\n        at puppetlabs.trapperkeeper.internal$eval13835$run_lifecycle_fn_BANG___13842$fn__13843.invoke(internal.clj:198)\n        at puppetlabs.trapperkeeper.internal$eval13835$run_lifecycle_fn_BANG___13842.invoke(internal.clj:181)\n        at puppetlabs.trapperkeeper.internal$eval14258$shutdown_BANG___14263$fn__14264$shutdown_fn__14266$fn__14277.invoke(internal.clj:440)\n        at puppetlabs.trapperkeeper.internal$eval14258$shutdown_BANG___14263$fn__14264$shutdown_fn__14266.invoke(internal.clj:439)\n        at puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014$fn__14016$fn__14029.invoke(internal.clj:276)\n        at puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014$fn__14016.invoke(internal.clj:260)\n        at puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014.invoke(internal.clj:251)\n        at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:1012)\n        at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:1011)\n        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:1016)\n        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:1014)\n        at clojure.core.async$ioc_alts_BANG_$fn__12043.invoke(async.clj:383)\n        at clojure.core.async$do_alts$fn__11989$fn__11992.invoke(async.clj:252)\n        at clojure.core.async.impl.channels.ManyToManyChannel$fn__6813.invoke(channels.clj:135)\n        at clojure.lang.AFn.run(AFn.java:22)\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n        at java.lang.Thread.run(Thread.java:748)\n{code}\n\n\n\n\n\u00a0\n\n*Desired Behavior:*\n\nAfter configuring the puppetserver to enable / send graphite metrics, the puppetserver should restart without errors.\n\n*Actual Behavior:*\n\n[root@puppet ~]# systemctl restart puppetserver\nJob for puppetserver.service failed because the control process exited with error code. See \"systemctl status puppetserver.service\" and \"journalctl -xe\" for details.\n\n\u00a0\n\nI originally tried this in server 5.3.6 but then upgraded to 5.3.7 to see if that would help; no luck.\n\nTo reproduce:\n # Uncomment the necessary lines to enable graphite metrics in metrics.conf\n # # systemctl restart puppetserver\n # the command should fail.\n\n\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16071", "fixedVersions": [], "id": "16071", "issueType": "Bug", "key": "SERVER-2466", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a47dc94742a00683d6fdd", "resolution": "Fixed", "resolutionDate": "2019-02-18T09:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver fails to restart when enabling graphite metrics", "timeSpent": "PT0S", "updated": "2019-02-18T09:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:1b9bde12-f0a1-4355-ab73-7fc4ec69ba79", "body": "The Puppet Server team will have the necessary info for this", "created": "2019-02-26T12:49:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks Claire and Jean. I can help. I think it would make sense for me to open a PR to update those docs myself, right?\n\nIIRC, the metrics he's looking are transformations of those primarily listed\u00a0 here:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/master/master_service.clj]\u00a0and here:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/jruby/jruby_metrics_core.clj]\u00a0but I need to double check those, and it will take a bit to circle back around to this.", "created": "2020-04-15T21:49:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Yes that would be great, thanks Justin! And then I can review the PR when it's ready.\u00a0", "created": "2020-04-16T01:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, so it looks like _most_ of the metrics that are supplied via jolokia are documented under the general metrics page. That is here:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/documentation/puppet_server_metrics.markdown#available-graphite-metrics]\n\n\u00a0\n\nThose metrics are also exposed from the status service when queried at the debug level so it might be valuable to split the metrics I linked to above out into their own page and then with a huge flashing banner link to that new metrics list from the metrics exporter page, the metrics v2 api page (what initiated this ticket) and the status api page here:\u00a0[https://github.com/puppetlabs/puppetserver/blob/master/documentation/status-api/v1/services.markdown#example-request-and-response-for-a-debug-level-get-request].\n\nNote that the v1 metrics endpoint is deprecated.\n\n\u00a0\n\nI'm sure that section to-be-page could use some clean up. I can see a couple content bits that could be improved:\n\nThe \"p75\", \"p90\", lower case metric names under the \"**Statistical metrics\" subsection are only used for the graphite exporter, and an even smaller subset is used for the status endpoint. The v2 metrics endpoint will include a larger number of metrics and they will be spelled out and camel cased. Here's an example reply for one of these \"statistical metrics\" from the v2 endpoint:\n{code:java}\n$ curl -k 'https://localhost:8140/metrics/v2/read/puppetserver:name=\"puppetlabs.localhost.http.puppet-v3-catalog-*-requests\"' --output - | jq .\n\n{\n  \"request\": {\n    \"mbean\": \"puppetserver:name=\\\"puppetlabs.localhost.http.puppet-v3-catalog-*-requests\\\"\",    \"type\": \"read\"\n  },\n  \"value\": {\n    \"puppetserver:name=\\\"puppetlabs.localhost.http.puppet-v3-catalog-/\\\\*/-requests\\\"\": {\n      \"Mean\": 717.941152,\n      \"StdDev\": 0,\n      \"75thPercentile\": 717.941152,\n      \"98thPercentile\": 717.941152,\n      \"RateUnit\": \"events/second\",\n      \"95thPercentile\": 717.941152,\n      \"99thPercentile\": 717.941152,\n      \"Max\": 717.941152,\n      \"Count\": 1,\n      \"FiveMinuteRate\": 0.0028452503068887463,\n      \"50thPercentile\": 717.941152,\n      \"MeanRate\": 0.0006308748561215546,\n      \"Min\": 717.941152,\n      \"OneMinuteRate\": 0.007553668846787294,\n      \"DurationUnit\": \"milliseconds\",\n      \"999thPercentile\": 717.941152,\n      \"FifteenMinuteRate\": 0.001053991118789713\n    }\n  },\n  \"timestamp\": 1597169095,\n  \"status\": 200\n}{code}\nAnd here's the equivalent data from the status service:\n{code:java}\n$ curl -k 'https://localhost:8140/status/v1/services/master?level=debug' | jq '.\"status\".\"experimental\".\"http-metrics\" | map(select(.\"route-id\" == \"puppet-v3-catalog-/*/\"))'\n\n[\n  {\n    \"route-id\": \"puppet-v3-catalog-/*/\",\n    \"count\": 1,\n    \"mean\": 717,\n    \"aggregate\": 717\n  }\n] {code}\n\u00a0\n\nOne critique of the current page is that I found splitting the metrics sections out into three lists (statistical metrics, counters only, other) harder to follow and find what I wanted than if they were listed logically with notes about what time each metric was (or a table).\n\n\u00a0\n\nFinally, there are some metrics that are importantly different between these apis. Specifically, the borrowed-instance, requested-instances, borrow-timers. The v2 representation of borrow-timers looks like:\n\n{{puppetserver:name=puppetlabs.localhost.jruby.borrow-timer.<reason>}}\u00a0\n\neg.\n{code:java}\n{\n  \"request\": {\n    \"mbean\": \"puppetserver:name=puppetlabs.localhost.jruby.borrow-timer.puppet-v3-catalog\",\n    \"type\": \"read\"\n  },\n  \"value\": {\n    \"Mean\": 116.74613452321924,\n    \"StdDev\": 15.500502224919208,\n    \"75thPercentile\": 111,\n    \"98thPercentile\": 155,\n    \"RateUnit\": \"events/second\",\n    \"95thPercentile\": 155,\n    \"99thPercentile\": 175,\n    \"Max\": 712,\n    \"Count\": 5,\n    \"FiveMinuteRate\": 6.162480376138712e-05,\n    \"50thPercentile\": 111,\n    \"MeanRate\": 0.0008199957172447686,\n    \"Min\": 111,\n    \"OneMinuteRate\": 1.0155867867294054e-12,\n    \"DurationUnit\": \"milliseconds\",\n    \"999thPercentile\": 175,\n    \"FifteenMinuteRate\": 0.0009094685751304663\n  },\n  \"timestamp\": 1597180828,\n  \"status\": 200\n} {code}\nAnd is closely matched by the existing metrics pushed to graphite and the existing page.\n\nHowever the status endpoint returns\n{code:java}\n$ curl -k 'https://localhost:8140/status/v1/services/jruby-metrics?level=debug' | jq '.\"status\".\"experimental\".\"metrics\".\"borrow-timer\ns\"' \n\n{\n  \"puppet-v3-file_metadatas\": {                                                                                                                                 \n    \"count\": 15,                                                                                                                                                \n    \"mean\": 52,                                                                 \n    \"max\": 129,                                                                 \n    \"rate\": 0.0047506933614506665                                               \n  },\n  ...\n}{code}\nAnd {{borrowed-instances}}, {{requested-instances}} are not in the v2 metrics or metrics pushed to graphite but are present in the status endpoint. They include a list of borrows or requests, the reason while the duration that they've been borrowed or requested (where \"requested\" means enqueued for borrowing).\n{code:java}\n[\n  {\n    \"time\": 1597178463132,\n    \"reason\": {\n      \"request\": {\n        \"uri\": \"/puppet/v3/file_metadatas/plugins\",\n        \"request-method\": \"get\",\n        \"route-id\": \"puppet-v3-file_metadatas-/*/\"\n      }\n    },\n    \"duration-millis\": 59\n  }\n] {code}\nMaybe it would be valuable in this new page to note the difference between the metrics pushed to graphite and the v2 representation and that equivalent data takes a very different form in the status endpoint. And then put the fuller information in the status page itself.\n\n\u00a0\n\nI don't know how helpful that is, or if this ticket warrants that much work? I think the summary is: extract the metrics summaries from the existing page, reformat them with a couple of additional notes. Link to this new page from three other pages. Add an additional note on the status page about a few things it has that the others don't.", "created": "2020-08-11T15:37:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]! [~accountid:5b5a27ad106ec32d95ea277d]\u00a0are you able to take this on?\u00a0", "created": "2020-08-12T04:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This page lives at https://puppet.com/docs/puppet/7/server/metrics-api/v2/metrics_api.html now and appears to have good examples. Closing this.", "created": "2022-02-22T18:21:00.000000"}], "components": [], "created": "2019-02-15T15:02:00.000000", "creator": "557058:0a2bfc9c-1912-49b1-9776-665ef20c8769", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46d2150f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsudr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_328190493_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_58701001388_*|*_10006_*:*_1_*:*_35667721516_*|*_10005_*:*_1_*:*_614263497"}], "description": "Url: /docs/puppetserver/6.2/metrics-api/v2/metrics_api.html\nRank: 1/5\nEmail:\u00a0[alan@airpost.net|mailto:alan@airpost.net]\nMessage:\nThe `puppetserver:*` metrics from jolokia have a very different format than\nthe `java.lang:*` metrics. This page, nor any other I can find, describes the\nkeys/values in a sample `puppetserver:*` result.\n\n\u00a0\n\nReply email sent 15 February\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15055", "fixedVersions": [], "id": "15055", "issueType": "Task", "key": "SERVER-2779", "labels": ["feedback-form-docs-site", "server"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:0a2bfc9c-1912-49b1-9776-665ef20c8769", "resolution": "Done", "resolutionDate": "2022-02-22T18:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add keys/values for sample `puppetserver:*` result", "timeSpent": "PT0S", "updated": "2022-02-22T18:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Seems like we could do this by:\n\n  - Pulling the public key from the private key.\n\n  - Looping through the cert bundle to find which certificate contains that public key.\n\n  - Looping through the crl bundle to find which CRL has an Issuer field matching the certificate.", "created": "2019-05-21T16:34:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This would also be a great usability improvement as the certificate and CRL input formats do not have any human readble fields that can be used to directly verify things are in the right order. You can get this info using the {{openssl}} CLI, but there is a bit of a learning curve there and it also only prints the first entry in a concatenated file.", "created": "2019-05-21T16:39:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This assumption, iirc, is in both the ca cli and the ca itself. Does this ticket handle both of those cases or just the ca cli?", "created": "2019-06-11T17:06:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "Ah, well I've only done the cli so far, I could do both here I suppose.", "created": "2019-06-11T17:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There are also some docs that will need to be updated around this, e.g. https://github.com/puppetlabs/puppetserver/blob/master/documentation/intermediate_ca.md#set-up-puppet-as-an-intermediate-ca-with-an-external-root", "created": "2019-06-12T10:42:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Also, it would be great if the CA changes could land in Kearney as well as Lovejoy, if we don't think that's too risky/out of scope.", "created": "2019-06-12T11:02:00.000000"}], "components": [], "created": "2019-02-15T13:31: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@6d2326e2"}, {"fieldName": "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": "SERVER-2548"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsu93:"}, {"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": "Cert and CRL bundles now no longer need to be in any specific order. By default, the leaf instances will still come first, descending to the root, which will be last."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_347256055_*|*_1_*:*_1_*:*_8460182382_*|*_10007_*:*_1_*:*_2305978151_*|*_3_*:*_1_*:*_22513583_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1548847469_*|*_10005_*:*_1_*:*_6822"}], "description": "We currently require cert and crl chains to be in a pem file with the signing cert/crl listed first. We should instead read in all certs/crls and determine signing cert/crl by another rubric (privatekey, issuer, or ca_name...) and then write the file back out in the same order we read them from disk.", "epicLinkSummary": "Improve CA Import", "estimate": "PT0S", "externalId": "17187", "fixedVersions": ["SERVER 6.0.5", "SERVER 6.3.1", "SERVER 6.5.0"], "id": "17187", "issueType": "Improvement", "key": "SERVER-2465", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": "15460", "parentSummary": "Improve CA Import", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2019-07-12T10:04:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Detect correct signing cert/crl by other means than order in respective files", "timeSpent": "PT0S", "updated": "2019-07-15T12:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I think the minimal set of extensions for a Certificate Signing Request may be:\n\n{code}\n# Some orgs may want to consider adding pathlen:0 so that the PE intermediate CA\n# cannot issue further sub-CAs\nbasicConstraints=critical,CA:TRUE\nkeyUsage=critical,keyCertSign,cRLSign\n{code}\n\nRFC 5280 appears to indicate that the [Authority Key Identifier|https://tools.ietf.org/html/rfc5280#section-4.2.1.1] is used for path building and may be omitted in the case of a self-signed certificate. However, {{openssl req}} refuses to add it to a signing request --- which makes me suspect that it is up to the signing authority to add this.", "created": "2019-05-21T16:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've linked the ticket where we wanted to make a command that generates that CSR. That might not be a substitute for documenting this, but it seems like it might ultimately be better/easier.\n\nMost of the work for that is done, but there were some open UX questions we never resolved. Hopefully we'll circle back around.", "created": "2019-10-01T16:20:00.000000"}], "components": [], "created": "2019-02-15T13:21: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@3b2fd6a2"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:h"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/May/19"}], "description": "Now that we fully support intermediate CAs users have been trying to create intermediate CAs between corporate roots and the signing CA's cert. I believe these are [here in code|https://github.com/puppetlabs/puppetserver-ca-cli/blob/0417e765671716eba72df51dbc8a6b258be8d6fc/lib/puppetserver/ca/local_certificate_authority.rb#L23-L38]. We should have a page that documents our expectations on certs and link it to the main CA docs.\n\n\u00a0\n\nOne extension we have that few users in the wild seem to have is the AuthorityKeyIdentifier (AKI). We should also investigate if this a necessary extension for CAs/Masters.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16913", "fixedVersions": [], "id": "16913", "issueType": "Improvement", "key": "SERVER-2464", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document the necessary cert extensions required to be in a CA/Master", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-02-15T13:16: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@6cf70e34"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsu87:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19706352864_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76798465022"}], "description": "Is this possible when agents will be set to leaf CRL checking? We've gotten feedback that users have tried to import CRL chains that did not include the root CRL with the intention of turning on leaf CRL checking. There may be an issue in the agent with OpenSSL requiring CRLs for all certs it has in a chain?? (this sounds familiar but not we should investigate when doing the ticket). If partial CRL chains are not possible we should look into better documenting that.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16259", "fixedVersions": [], "id": "16259", "issueType": "Improvement", "key": "SERVER-2463", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow importing CRL chains that do not contain all CRLs", "timeSpent": "PT0S", "updated": "2022-03-08T12:10:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This failed in CI on platforms without PuppetDB:\n{code}\ni43plkbi9h931cs.delivery.puppetlabs.net (debian9-64-1) 20:04:22$ su -l compile-node-one -c '/opt/puppetlabs/bin/puppet agent -t'\n      Info: Creating a new SSL key for compile-node-one\n      Info: Downloaded certificate for ca from i43plkbi9h931cs.delivery.puppetlabs.net\n      Info: csr_attributes file loading from /home/compile-node-one/.puppetlabs/etc/puppet/csr_attributes.yaml\n      Info: Creating a new SSL certificate request for compile-node-one\n      Info: Certificate Request fingerprint (SHA256): 1A:85:D7:86:AC:35:47:E6:06:CF:E9:65:C2:AF:B1:39:CE:B6:EF:45:29:91:43:F7:1D:C5:64:60:FA:5E:F7:2D\n      Info: Downloaded certificate for compile-node-one from i43plkbi9h931cs.delivery.puppetlabs.net\n      Info: Using configured environment 'production'\n      Info: Retrieving pluginfacts\n      Info: Retrieving plugin\n      Info: Retrieving locales\n      Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not find terminus puppetdb for indirection facts\n      Warning: Not using cache on failed catalog\n      Error: Could not retrieve catalog", "created": "2019-03-08T09:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This has gone green (master is now red for other reasons)", "created": "2019-03-08T17:19:00.000000"}], "components": [], "created": "2019-02-15T10:24: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@1817317e"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2mn:"}, {"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_*:*_92634975_*|*_1_*:*_1_*:*_14759_*|*_10007_*:*_2_*:*_74853181_*|*_3_*:*_3_*:*_696759454_*|*_5_*:*_1_*:*_1555520137_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_975006333"}], "description": "In addition to the basic unit test added as part of SERVER-2437, we should have integration testing for this new endpoint that actually exercises the Ruby code for compiling the catalog, and tests at least the following cases:\n1) Facts supplied in request vs. fetch from PDB\n2) Storing facts and catalogs vs. not saving them\n3) Environment supplied in the request vs. gleaned from the Classifier\n\nThese cover the differences between what our two known use cases for the endpoint need.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16540", "fixedVersions": ["SERVER 6.3.0"], "id": "16540", "issueType": "Task", "key": "SERVER-2462", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add integration testing for new catalog endpoint", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This isn't showing up on any of our vulnerability scanners anymore, so I'm going to resolve it.", "created": "2022-02-22T18:15:00.000000"}], "components": [], "created": "2019-02-14T16:37: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@5b0d1561"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzst6n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15403_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_95391421155"}], "description": "Because a security vulnerability, jline needs to be updated to at least 2.12. This requires us to update JRuby, since it is shipped with JRuby. That update is tracked in SERVER-2388.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16911", "fixedVersions": ["SERVER 6.0.z", "SERVER 6.3.z", "SERVER 6.y"], "id": "16911", "issueType": "Task", "key": "SERVER-2461", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2022-02-22T18:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update jline to 2.12 or greater", "timeSpent": "PT0S", "updated": "2022-02-22T18:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2019-02-13T13:58:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ed25264"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzss5j:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2454696_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_96668435829"}], "description": "To let the CA be more configurable in docker environments, I was attempting to set `allow-subject-alt-names: ${PUPPETSERVER_ALLOW_SUBJECT_ALT_NAMES}` in ca.conf.\n\nThis fails with\n{code}\nclojure.lang.ExceptionInfo: Output of config->ca-settings does not match schema:\npuppet_1    |\npuppet_1    |      {:allow-subject-alt-names (not (instance? java.lang.Boolean \"true\"))}\npuppet_1    |\npuppet_1    |\npuppet_1    |   at puppetlabs.puppetserver.certificate_authority$fn__36077$config__GT_ca_settings__36082.invoke(certificate_authority.clj:999)\npuppet_1    |   at puppetlabs.services.ca.certificate_authority_service$reify__40876$service_fnk__4991__auto___positional$reify__40891.init(certificate_authority_service.clj:24)\npuppet_1    |   at puppetlabs.trapperkeeper.services$fn__4815$G__4807__4818.invoke(services.clj:9)\npuppet_1    |   at puppetlabs.trapperkeeper.services$fn__4815$G__4806__4822.invoke(services.clj:9)\n{code}\n\n[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] found: \u201cenvironment variables always become a string value, though if an app asks for another type automatic type conversion would kick in\u201d\n\nThis will also be the case for allow-authorization-extensions and enable-infra-crl.\n\nFrom discussions in Slack, it sounds like we want to update the schema at https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L134-L145 to coerce those variables into booleans.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16070", "fixedVersions": [], "id": "16070", "issueType": "Task", "key": "SERVER-2460", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Won't Do", "resolutionDate": "2022-03-08T10:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Unable to set CA configuration using environment variables", "timeSpent": "PT0S", "updated": "2022-03-08T10:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "This should just work if the ace cert is added to the tk-auth rule (allow value can be an array and can mix backreference and literal certname). The report processing in puppet just accepts the passed report instance and doesn't look at where it really comes from.", "created": "2019-02-25T15:21:00.000000"}], "components": [], "created": "2019-02-12T09:58: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@1e86156"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2m7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11730_*|*_3_*:*_1_*:*_447919306_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_694713649"}], "description": "In addition to compiling catalogs for nodes other than the one making the request, Network Automation ACE compilation also needs to be able to submit reports on behalf of the network devices. Enabling this might be as simple as updating the tk-auth rules around the report endpoint to also allow submissions from the proxy node, but we should verify this, and make any code changes needed to support this if more work is required.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16258", "fixedVersions": [], "id": "16258", "issueType": "Task", "key": "SERVER-2458", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-02-25T15:22:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Proxy report submission", "timeSpent": "PT0S", "updated": "2019-02-25T15:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Put my WIP in a gist here: [https://gist.github.com/justinstoller/db1b9b761aa43e55615d787a49b7f9e7]\n\nWill update an actual checkout/branch once [https://github.com/puppetlabs/puppetserver/pull/1979]\u00a0is merged/rebased.", "created": "2019-02-21T14:31:00.000000"}], "components": [], "created": "2019-02-12T09:55: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@76cf0cbd"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2lz:"}, {"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": "Subsumed under general docs from the linked epic"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_157789139_*|*_1_*:*_1_*:*_11026_*|*_10007_*:*_1_*:*_688212876_*|*_3_*:*_1_*:*_623108346_*|*_5_*:*_1_*:*_1573781736_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_612855401"}], "description": "The the catalog endpoint accepts a {{persistence}} hash (name possibly TBD) that specifies whether (and how?) to save facts and catalogs after a compile. We need to use the data in this hash to conditionally trigger saving these artifacts. The only specified use case so far is to save them to PuppetDB, needed by the ACE compilation, but not by CD4PE.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16069", "fixedVersions": ["SERVER 6.3.0"], "id": "16069", "issueType": "Task", "key": "SERVER-2457", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-03-08T12:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Save catalogs and facts based on persistence hash", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-02-11T12:13:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@11cb23ad"}, {"fieldName": "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-9483"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsqp3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2450_*|*_10009_*:*_1_*:*_48516_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_862849840"}], "description": "(Initial planned release date: 2019-02-20)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-02-21T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "estimate": "PT0S", "externalId": "16068", "fixedVersions": [], "id": "16068", "issueType": "Task", "key": "SERVER-2456", "labels": [], "originalEstimate": "PT0S", "parent": "24333", "parentSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-02-21T11:55:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.2.1)", "timeSpent": "PT0S", "updated": "2019-02-21T11:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-02-11T12:13:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@542a7f46"}, {"fieldName": "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-9483"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsqon:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_27176_*|*_1_*:*_1_*:*_2370_*|*_3_*:*_1_*:*_555984_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_344225235"}], "description": "(Initial planned release date: 2019-02-20)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-02-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "estimate": "PT0S", "externalId": "15454", "fixedVersions": [], "id": "15454", "issueType": "Task", "key": "SERVER-2455", "labels": [], "originalEstimate": "PT0S", "parent": "24333", "parentSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-02-15T11:59:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.2.1)", "timeSpent": "PT0S", "updated": "2019-02-15T11:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] has this been done?", "created": "2019-02-14T16:31:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "This one is not necessary, as we will just tag directly from master. I plan on doing that Friday morning, 2/15.", "created": "2019-02-14T17:42:00.000000"}], "components": [], "created": "2019-02-11T12:12:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@160a5644"}, {"fieldName": "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-9483"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsqof:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2438_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_278953192"}], "description": "(Initial planned release date: 2019-02-20)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-02-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "estimate": "PT0S", "externalId": "15054", "fixedVersions": [], "id": "15054", "issueType": "Task", "key": "SERVER-2454", "labels": [], "originalEstimate": "PT0S", "parent": "24333", "parentSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-02-14T17:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.2.1)", "timeSpent": "PT0S", "updated": "2019-02-14T17:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] has this been done?", "created": "2019-02-14T16:30:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Yup! Just now.", "created": "2019-02-14T17:40:00.000000"}], "components": [], "created": "2019-02-11T12:12:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@57671120"}, {"fieldName": "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-9483"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsqo7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2412_*|*_3_*:*_1_*:*_2532038_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_276355526"}], "description": "(Initial planned release date: 2019-02-20)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    (Run ticketmatch in the puppetserver repo WITHOUT the team value specified\n    and in the puppet repo WITH the team \"Server\" to find all applicable tickets)\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-02-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "estimate": "PT0S", "externalId": "14854", "fixedVersions": [], "id": "14854", "issueType": "Task", "key": "SERVER-2453", "labels": [], "originalEstimate": "PT0S", "parent": "24333", "parentSummary": "Puppet Platform 6.3.0 Release - 2019-02-20\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-02-14T17:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.2.1)", "timeSpent": "PT0S", "updated": "2019-02-14T17:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We decided this is actually the correct behavior, since the master should have the full CRL.", "created": "2019-02-12T12:36:00.000000"}], "components": [], "created": "2019-02-07T15:43: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@2f4ea709"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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": "Inspection"}, {"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|hzsoen:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15791_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_420777395"}], "description": "On the CA host, we have a file watcher that syncs the CA's copy of the CRL to the host CRL when it updates (i.e. when something is revoked). However, we are not doing this for the infra CRL, so when that is enabled and something gets revoked, the file watcher service will sync the full CRL instead, overwriting the host's copy of the infra CRL with the full one.\n\nThis isn't terrible, but should be fixed to do the right thing, syncing the infra CRL instead when that feature is enabled.", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "15453", "fixedVersions": [], "id": "15453", "issueType": "Bug", "key": "SERVER-2452", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Fix", "resolutionDate": "2019-02-12T12:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Infra CRL is not properly synced to the hostcrl on revocation", "timeSpent": "PT0S", "updated": "2019-02-12T12:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It would be nice if we make use of https://github.com/puppetlabs/puppet/blob/fdb8a6013e12870eea6c277b20ee1ae74430ebd4/lib/puppet/network/resolver.rb to avoid duplication here, but one of the key design pieces of this new CLI was to avoid loading Puppet (to make it significantly faster). So even if we can't use that directly, something similar is probably what we'll need to make this work. See how the lookup is actually performed in Puppet here: https://github.com/puppetlabs/puppet/blob/fdb8a6013e12870eea6c277b20ee1ae74430ebd4/lib/puppet/rest/route.rb#L52-L66", "created": "2019-03-13T15:18:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Even better you could do, and it will resolve based on srv or settings, and soon server_list.\n\n{code:ruby}\nrequire 'puppet'\nclient = Puppet::HTTP::Client.new(..)\nsession = client.create_session\nca = session.route_to(:ca)\ncert = ca.get_certificate('ca')\n{code}", "created": "2019-11-21T17:32:00.000000"}], "components": ["CLI"], "created": "2019-02-06T06:36:00.000000", "creator": "557058:49ceab3c-ff4b-4621-bdcc-c10cbd1c1576", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@db6c413"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4rz:i"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Mar/19"}], "description": "*Puppet Version: 6.2.0*\n*Puppet Server Version: 6.2.0*\n*OS Name/Version:Debian Stretch/9*\n\npuppetserver ca cli does not use the srv records to determine the puppet ca\nDefine use_srv_records = true in the config, do not specify the puppet_ca\n\n*Desired Behavior:*\nConnect to the correct puppetca server using dns SRV records\n\n*Actual Behavior:*\nTries to connect to puppet:8140 ignoring SRV records and using default (unconfigured) ca server.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "17186", "fixedVersions": [], "id": "17186", "issueType": "Bug", "key": "SERVER-2451", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:49ceab3c-ff4b-4621-bdcc-c10cbd1c1576", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca subcommands do not use srv_records", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "7", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "body": "Note that the Ruby implementation of type system allows a Variant to be defined with an Array of types.", "created": "2019-02-05T10:45:00.000000"}, {"author": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "body": "I think this is the Java implementation of type parsing that does not support this quirk. Ping [~accountid:557058:c7e2df03-377d-4bf0-9407-106b8483430d].", "created": "2019-02-05T11:03:00.000000"}, {"author": "557058:c7e2df03-377d-4bf0-9407-106b8483430d", "body": "[~accountid:557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd], even if the Variant would accept being defined with an array of types (which I have a hard time understanding the motivation behind), that's not what's going on here. {{Variant[String,[Array[String]]]}} actually uses a mix of types and array of types. Why that would be accepted is beyond me. What's the significance of having the second argument in an array?\n\nThe fact that putting things in arrays actually have meaningful significance in other places (like Callable) makes this lenience worse.", "created": "2019-02-05T14:40:00.000000"}, {"author": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "body": "Well, allowed or not - it should be the same in puppet and in the Java impl. If we decide to change it in the Ruby impl, we need to deprecate it and wait until a major version boundary. Meanwhile, the Java impl should not crash.\n\nI think this comes from {{Variant[X, Variant[T, V]]}} being allowed, and supporting an array of types and taking that as the equivalence of a Variant is not really that strange.\n\n", "created": "2019-02-05T14:48:00.000000"}, {"author": "557058:c7e2df03-377d-4bf0-9407-106b8483430d", "body": "The {{Variant[X, Variant[T, V]]}} is not strange (although somewhat redundant). It's the mix of elements and array of elements that's strange. I consider that a bug in the Ruby implementation and I'm reluctant to introduce the same bug on other platforms, just because. It would mean that more errors will sneak in and that we then need to deprecate it there too. To what avail? IIRC, this bug it's not documented behavior.\n\nHow about deprecating it in Ruby and just leave Java as is? That way we don't acknowledge that this is correct.", "created": "2019-02-05T14:58:00.000000"}, {"author": "557058:c7e2df03-377d-4bf0-9407-106b8483430d", "body": "Also, as I said before. Consider places where we actually allow mixes of elements and array of elements and do that for a purpose:\n{code:java}\nCallable[[String, Integer],Integer] \n{code}\nversus\n{code}\nCallable[String,Integer,Integer]\n{code}\nThe first one denotes a callable that takes a String and an Integer parameter and returns an Integer. The second takes String, Integer, and Integer parameters and returns Any.\n", "created": "2019-02-05T15:02:00.000000"}, {"author": "557058:e6726ff0-7a50-486d-b5db-41043ba64e4d", "body": "I am honestly not sure how I ended up with that extraneous set of square brackets. I could certainly side with deprecating this otherwise \"bad\" behavior.", "created": "2019-02-05T22:42:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "This error comes up and can be difficult to diagnose. An initial step may be to introduce some better error message that points at the offending code. \n\nThis can be reproduced with the following.\n\n{code}\nOptional[Hash[String[1]]] $options = undef,\n{code}\n\nThe above is not valid since `Hash` expect either no parameters or at least two. The puppet parser did not catch this either.", "created": "2020-12-21T13:04:00.000000"}, {"author": "5caf5082c75c532928c11f7b", "body": "I think the acceptance criteria should be updated to the following:\n\nAny code that causes Puppetserver's parser to fail should also:\n* Generate a user-visible error message pointing to the offending code, or\n* Also fail a standard code-checker such as [puppet parser validate|https://puppet.com/docs/puppet/latest/man/parser.html] or [puppet-lint|https://puppet-lint.com].", "created": "2020-12-21T13:20:00.000000"}], "components": [], "created": "2019-02-05T07:51:00.000000", "creator": "557058:e6726ff0-7a50-486d-b5db-41043ba64e4d", "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 that passes puppet parser validate, and is otherwise correct should not cause PuppetServer's parser to fail."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@761d6263"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|o0e4ru:91ic"}, {"fieldName": "Zendesk Ticket Count", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "5.0"}, {"fieldName": "Zendesk Ticket IDs", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "40532,42498,44133,48430,51105"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Feb/19"}], "description": "*Puppet Version: 2018.1.5*\n *Puppet Server Version:\u00a0pe-puppetserver-2018.1.0.88-1.el7.noarch*\n *OS Name/Version: RHEL 7.6*\n\nDescribe your issue in as much detail as possible\u2026\n\nPuppet Code with a parameter like:\n{code:java} Variant[String,[Array[String]]] $provisioning_api_certs = [],{code}\n\u00a0\n\nWill cause an API call to /puppet/v3/environment_classes to give a 500 error.\n\nDescribe steps to reproduce\u2026\n\nHave puppet code containing a parameter like the one above deployed, try API call.\n\n*Desired Behavior: correct response from API*\n\n*Actual Behavior: Error 500*\n\n\u00a0\n\n\u00a0\n{code:java}HTTP ERROR 500Problem accessing /puppet/v3/environment_classes.Reason:    Server ErrorCaused by:clojure.lang.ExceptionInfo: Output of manifest-info-from-jruby->manifest-info-for-json does not match schema: {:classes [{:params [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil {:type (not (instance? java.lang.String nil))}]}]} {:type :schema.core/error, :schema (conditional puppetlabs.services.master.master-core/fn--50248 {:path Str, :error Str} puppetlabs.services.master.master-core/fn--50250 {:path Str, :classes [{:name Str, :params [{:name Str, (optional-key :type) Str, (optional-key :default_source) Str, (optional-key :default_literal) Any}]}]}), :value {:classes ({:name \"profile::puppet::master\", :params ({:default_literal \"https://artifactory.company.com/artifactory/api/gems/RubyGems/\", :default_source \"'https://artifactory.company.com/artifactory/api/gems/RubyGems/'\", :name \"artifactory_gem_proxy\", :type \"String\"} {:default_literal \"puppet:///modules/profile/license.key\", :default_source \"'puppet:///modules/profile/license.key'\", :name \"key_source\", :type \"String\"} {:default_literal \"DefaultPassword\", :default_source \"'DefaultPassword'\", :name \"puppet_autosign_secret\", :type \"String\"} {:default_source \"undef\", :name \"console_sslcert_content\", :type \"Optional[String]\"} {:default_source \"undef\", :name \"console_sslkey_content\", :type \"Optional[String]\"} {:default_literal \"/backup\", :default_source \"'/backup'\", :name \"backup_root\", :type \"Optional[String]\"} {:default_literal 14, :default_source \"14\", :name \"backup_keep_days\", :type \"Integer[1, 99]\"} {:default_literal (8140 8142), :default_source \"[8140, 8142]\", :name \"puppet_ports\", :type \"Array[Integer]\"} {:default_literal (\"0.0.0.0/0\"), :default_source \"['0.0.0.0/0']\", :name \"puppet_access\", :type \"Array[String]\"} {:default_literal (80 443), :default_source \"[80, 443]\", :name \"console_ports\", :type \"Array[Integer]\"} {:default_literal (\"0.0.0.0/0\"), :default_source \"['0.0.0.0/0']\", :name \"console_access\", :type \"Array[String]\"} {:default_literal (4433 8081 8143 8170), :default_source \"[4433, 8081, 8143, 8170]\", :name \"backend_ports\", :type \"Array[Integer]\"} {:default_literal (\"0.0.0.0/0\"), :default_source \"['0.0.0.0/0']\", :name \"backend_access\", :type \"Array[String]\"} {:default_literal (\"bitbucket.company.com\"), :default_source \"['bitbucket.company.com']\", :name \"git_sources\", :type \"Array[String]\"} {:default_literal (\"artifactory.company.com\"), :default_source \"['artifactory.company.com']\", :name \"forge_sources\", :type \"Array[String]\"} {:default_source \"lookup('puppet_enterprise::profile::master::metrics_graphite_host')\", :name \"graphite_host\", :type \"Optional[String]\"} {:default_source \"lookup('puppet_enterprise::profile::master::metrics_graphite_port', Integer, 'first', 2003)\", :name \"graphite_port\", :type \"Optional[Integer]\"} {:default_literal \"10.9.46.0/24\", :default_source \"'10.9.46.0/24'\", :name \"nfs_host\", :type \"Optional[String]\"} {:default_literal (), :default_source \"[]\", :name \"provisioning_api_certs\", :type nil})}), :path \"/etc/puppetlabs/code/environments/logging_dev/site/profile/manifests/puppet/master.pp\"}, :error {:classes [{:params [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil {:type (not (instance? java.lang.String nil))}]}]}}\n\tat puppetlabs.services.master.master_core$eval50325$manifest_info_from_jruby__GT_manifest_info_for_json__50330.invoke(master_core.clj:250)\n\tat clojure.core$map$fn__4785.invoke(core.clj:2644)\n\tat clojure.lang.LazySeq.sval(LazySeq.java:40)\n\tat clojure.lang.LazySeq.seq(LazySeq.java:49)\n\tat clojure.lang.ChunkedCons.chunkedNext(ChunkedCons.java:59)\n\tat clojure.lang.ChunkedCons.next(ChunkedCons.java:43)\n\tat clojure.lang.RT.length(RT.java:1741)\n\tat clojure.lang.RT.seqToArray(RT.java:1682)\n\tat clojure.lang.LazySeq.toArray(LazySeq.java:130)\n\tat clojure.lang.RT.toArray(RT.java:1655)\n\tat clojure.core$to_array.invokeStatic(core.clj:344)\n\tat clojure.core$sort.invokeStatic(core.clj:3004)\n\tat clojure.core$sort_by.invokeStatic(core.clj:3010)\n\tat clojure.core$sort_by.invokeStatic(core.clj:3010)\n\tat clojure.core$sort_by.invoke(core.clj:3010)\n\tat puppetlabs.services.master.master_core$eval50349$class_info_from_jruby__GT_class_info_for_json__50354$fn__50355.invoke(master_core.clj:276)\n\tat puppetlabs.services.master.master_core$eval50349$class_info_from_jruby__GT_class_info_for_json__50354.invoke(master_core.clj:262)\n\tat puppetlabs.services.master.master_core$eval50424$environment_class_response_BANG___50431$fn__50432.invoke(master_core.clj:325)\n\tat puppetlabs.services.master.master_core$eval50424$environment_class_response_BANG___50431.invoke(master_core.clj:299)\n\tat puppetlabs.services.master.master_core$eval50585$environment_class_info_fn__50592$fn__50593$fn__50594.invoke(master_core.clj:443)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__50023.invoke(jruby_request.clj:48)\n\tat puppetlabs.services.master.master_core$eval50826$wrap_with_etag_check__50833$fn__50834$fn__50835.invoke(master_core.clj:609)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_environment_validation$fn__50063.invoke(jruby_request.clj:111)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__50019.invoke(jruby_request.clj:33)\n\tat puppetlabs.services.master.master_core$eval51064$v3_clojure_routes__51071$fn__51072$fn__51073.invoke(master_core.clj:774)\n\tat ring.middleware.params$wrap_params$fn__24923.invoke(params.clj:64)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$eval26181$wrap_authorization_check__26190$fn__26193$fn__26194.invoke(ring_middleware.clj:284)\n\tat puppetlabs.ring_middleware.core$eval24756$wrap_bad_request__24765$fn__24768$fn__24774.invoke(core.clj:170)\n\tat puppetlabs.ring_middleware.core$eval24854$wrap_uncaught_errors__24863$fn__24866$fn__24871.invoke(core.clj:216)\n\tat puppetlabs.ring_middleware.core$eval24481$wrap_request_logging__24486$fn__24487$fn__24489.invoke(core.clj:47)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$eval24510$wrap_response_logging__24515$fn__24516$fn__24517.invoke(core.clj:53)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__26712.invoke(ringutils.clj:83)\n\tat bidi.ring$eval20017$fn__20018.invoke(ring.cljc:25)\n\tat bidi.ring$eval19996$fn__19997$G__19987__20006.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__22127.invoke(comidi.clj:245)\n\tat puppetlabs.metrics.http$eval50188$wrap_with_request_metrics__50193$fn__50197$fn__50199$fn__50200$fn__50201.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval50188$wrap_with_request_metrics__50193$fn__50197$fn__50199$fn__50200.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval50188$wrap_with_request_metrics__50193$fn__50197$fn__50199.invoke(http.clj:148)\n\tat puppetlabs.comidi$eval22188$wrap_with_route_metadata__22193$fn__22194$fn__22196.invoke(comidi.clj:332)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__47739.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$eval47315$normalize_uri_handler__47320$fn__47321$fn__47322.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:531)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n\tat org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:291)\n\tat org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:151)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)\n\tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)\n\tat org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)\n\tat java.lang.Thread.run(Thread.java:748) {code}\n\u00a0\nh2. Workaround:\n\nA simple workaround is to reformat the type to not have the extra set of square brackets. Such as:\n{code:java} Variant[String,Array[String]] $provisioning_api_certs = [], {code}\n\u00a0\n\nThis may be related to PDK-1176.\n\n\u00a0", "environment": "RHEL 7.6, PE 2018.1.5", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17185", "fixedVersions": [], "id": "17185", "issueType": "Bug", "key": "SERVER-2450", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e6726ff0-7a50-486d-b5db-41043ba64e4d", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Error 500 parsing certain parameters on /puppet/v3/environment_classes", "timeSpent": "PT0S", "updated": "2023-02-16T03:06:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not sure yet if we actually want to merge this back in anywhere, as opposed to just doing this logic as part of facts handling. We can see once SERVER-2444 is more complete what refactor makes sense.", "created": "2019-02-12T10:00:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "As long as we avoid using the {{find}} for this new endpoint, I think we don't need to do this work.", "created": "2019-02-21T12:17:00.000000"}], "components": [], "created": "2019-01-30T13:08:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fb71a8b"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2lr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_790368972_*|*_3_*:*_1_*:*_178646387_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_928697580"}], "description": "The Cdpe class has some functionality to use puppetdb trusted facts; this should be merged back into classifier, possibly back into the irving branch.\n\nRelevant code block not utilized in CD4PE: https://github.com/puppetlabs/puppetlabs-cd4pe/blob/master/lib/puppet/indirector/node/cdpe.rb#L70-L78\n\nThe ^^ file has a link to the classifier class it copies from.\n\nThat code block will probably need to read a parameter on the request object to determine whether or not to read in trusted facts from puppetdb.\n", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "15452", "fixedVersions": [], "id": "15452", "issueType": "Task", "key": "SERVER-2448", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Won't Do", "resolutionDate": "2019-02-21T12:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge Puppet::Node::Cdpe trusted_fact behavior back into Puppet::Node::Classifier ", "timeSpent": "PT0S", "updated": "2019-02-21T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "As stated in the description, our default and recommended MRPI is much higher than the pathological case described here, and it's unlikely we'll get to this investigation any time soon. Closing, can reopen if this comes up again.", "created": "2022-02-22T14:55:00.000000"}], "components": [], "created": "2019-01-29T14:48: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@4b6fe9c3"}, {"fieldName": "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": "SERVER-2151"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsg67:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Feb/22"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21168797428_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_75599597136"}], "description": "Users have seen pathalogical memory consumption when compile-mode is set to JIT and MRPI is 400. Potential memory leak. Broken out as a separate ticket because there's docs work we should do immediately but this ticket may take some time and is lower priority since our recommendation is an MRPI of 100k and we'd love to get rid of MRPI completely in the future.\n\nSee full discussion in\u00a0SERVER-2307, this ticket should have the description updated when we actually are ready to work on this.", "epicLinkSummary": "JRuby in the Wild", "estimate": "PT0S", "externalId": "16539", "fixedVersions": [], "id": "16539", "issueType": "Improvement", "key": "SERVER-2447", "labels": [], "originalEstimate": "PT0S", "parent": "15501", "parentSummary": "JRuby in the Wild", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Fix", "resolutionDate": "2022-02-22T14:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate potential memory leak in JRuby when MRPI is low", "timeSpent": "PT0S", "updated": "2022-02-22T14:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Did we ever do this?", "created": "2019-10-01T16:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't think so.", "created": "2019-10-01T17:01:00.000000"}], "components": ["DOCS"], "created": "2019-01-29T14:43: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@97eb903"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsg5z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_21169050590_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76797495306"}], "description": "In Puppet Server 5.3.x we upgrade 9k's default compile-mode to be just-in-time (JIT) - per JRuby best practices. However, for users with a low max-requests-per-instance (MRPI) configured this can cause serious problems.\n\nIt is currently unknown if this is a memory leak when destroying instances that are still compiling/optimizing (either because of how we're shutting down instances, or in JRuby itself), or some way these are interacting.\n\nHowever users who have an MRPI that is lower than enough requests for a 100 (W.A.G.) agent runs (where an agent run produces at least 6 requests + 1 to 3 requests per file resource) may have performance and/or memory problems that would be alleviated by turning compile-mode to off ({{jruby-puppet.compile-mode: off}}). Note: recommended MRPI is 100k.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16067", "fixedVersions": [], "id": "16067", "issueType": "Improvement", "key": "SERVER-2446", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document issues between JIT and low MRPI.", "timeSpent": "PT0S", "updated": "2022-03-08T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This seems fairly straightforward for the case where all info comes in with the request. The work for this is included on https://github.com/puppetlabs/puppetserver/pull/1968.\n\nI think it makes sense to file a separate ticket for figuring out the best way to fetch information from the Classifier, and we already have SERVER-2444 for figuring out the details of getting facts.", "created": "2019-02-12T09:41:00.000000"}], "components": [], "created": "2019-01-28T19:07:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6e68118d"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1nb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_159890643_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1102213215"}], "description": "Given the proposed inputs for the for the catalog endpoint, Puppet should be able to create a node object directly, and not rely on {{Node.indirection.find}}. This is to allow {{Puppet::Parser::Compile.compile}} to be called directly, without relying on a Catalog.indirection.find to call it.\n\n", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "15053", "fixedVersions": [], "id": "15053", "issueType": "Task", "key": "SERVER-2445", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Done", "resolutionDate": "2019-02-12T09:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Directly generate a Puppet::Node object for compilation", "timeSpent": "PT0S", "updated": "2019-02-12T09:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Constructing a Facts object from the data in the request, munging its contents, and passing it along to a Node object for use in catalog compilation seems to be straightforward.\n\nThere is a lot of code in the PuppetDB terminus around finding the right URL for PuppetDB and doing data manipulation. Specifically for querying facts, we might be able to replicate the simplest parts of this, but do avoid code duplication, it might make more sense to try to instantiate the terminus directly, so that we still avoid the global state of the indirector configuration, but still use the code that is already written and tested.", "created": "2019-02-12T09:39:00.000000"}], "components": [], "created": "2019-01-28T18:51:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a7ddc72"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1n3:"}, {"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": "12/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_8034_*|*_1_*:*_1_*:*_160757821_*|*_10007_*:*_1_*:*_282545425_*|*_3_*:*_1_*:*_1883379793_*|*_5_*:*_1_*:*_2503552726_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_89338965_*|*_10005_*:*_1_*:*_4004"}], "description": "CD4PE's implementation utilized the {{indirector}} to set a facts terminus to :{{puppetdb}} for a {{Catalog.find}}. In an effort to minimize use of the {{indirector}}, facts should be collected in a single method and then passed to further execution as necessary.\n\nIf facts are supplied in the body, process those facts so they can be passed as an option for Puppet::Node.new. Otherwise, request facts for the certname required from puppetdb...or maybe just whatever the backend is defined for facts by Puppet?", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "17457", "fixedVersions": ["SERVER 6.3.0"], "id": "17457", "issueType": "Task", "key": "SERVER-2444", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Fixed", "resolutionDate": "2019-03-26T18:24:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Process facts from request body or request from puppetdb", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It does seem to be possible to supply a node object directly to Puppet::Parser::Compiler. I'm working now on figuring out how to correctly plumb the compiled catalog back up through to the Clojure to be returned in the request response.", "created": "2019-02-12T09:36:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "This work has been defined in SERVER-2437 and SERVER-2444. Closing as not needed.", "created": "2019-02-14T12:52:00.000000"}], "components": [], "created": "2019-01-28T18:38:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@30f7cce0"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1mv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_162256630_*|*_3_*:*_1_*:*_1279939041_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5834491"}], "description": "The JRubyHandler class in CD4PE includes the {{Puppet::Server::Network::HTTP::Handler}} module to call {{process}} on a request hash that comes from TK. This code path is unnecessary because TK has already processed the request, and so processing the request again through the ruby network stack can be avoided.\n\nThe {{master.rb}} file defines a handleRequest method that also include {{Puppet::Server::Network::HTTP::Handler}}, so it is possible that we will need to define a new method and/or class to skip the network stack from the Puppet::Server::Master class.\n\nAnother element of the solution might be to require the compiler in the master class, so that Puppet::Parser::Compiler class could be called directly.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "17184", "fixedVersions": [], "id": "17184", "issueType": "Task", "key": "SERVER-2443", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Duplicate", "resolutionDate": "2019-02-14T12:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Define method for entry into the puppet ruby code", "timeSpent": "PT0S", "updated": "2019-02-14T12:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:e0389099-cc54-4f97-bd2a-7fa4735554bd] does this sound like something that would help this situation? https://puppet.atlassian.net/browse/PUP-8014", "created": "2019-10-04T09:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Going to close this, as I think we're unlikely to do it. Recommend using {{environment_ttl}} to get the best of both flushing little-used envs and caching frequently used ones indefinitely.", "created": "2022-02-22T18:04:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-28T04:51:00.000000", "creator": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4c3ddd5c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzselj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_35184928931_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_61717009828"}], "description": "In our setup, rather than just having a single Puppet environment \"production\" we have multiple environments that ultimately correspond to VCS tags, and machines are moved from environment to environment to promote them to the desired version. Old environments are deleted to leave the latest N available.\n\nBecause an environment derived from a tag should never (rarely) change, we have historically set the `environment_timeout` setting to `unlimited` for any such environment, leaving it with a default of `0` for development-type environments that change frequently.\n\nWe have noticed that Puppet doesn't seem to bound the environment cache in any way or expire anything such that if you create many environments all with unlimited caching, Puppet uses all of the heap trying to satisfy that, the symptom is the GC log contains nothing but \"Full GC\" messages and the performance drops to a crawl.\n\nHistorically before I figured out the cause, restarting the Puppet server would restore performance (as it was clearing the cache out) and now I have verified that using the `https://puppet:8140/puppet-admin-api/v1/environment-cache` API endpoint has the same effect.\n\nCan the environment cache size be visualized somehow with current metrics?\n\nThat would be useful in some respects, however IMO the environment cache should also be bounded to prevent it growing too big WRT the heap and maybe also operate some sort of LRU expiry such that space can be reclaimed by dropping the least-used environment(s) regardless of the timeout setting. Having extra metrics available to indicate the cache is either too small or is being thrashed by constant purging (f.ex. the cache can fit five environments but you have six live, etc.) would help here.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15946", "fixedVersions": [], "id": "15946", "issueType": "Bug", "key": "SERVER-2442", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e0389099-cc54-4f97-bd2a-7fa4735554bd", "resolution": "Won't Do", "resolutionDate": "2022-02-22T18:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Environment cache grows unbounded", "timeSpent": "PT0S", "updated": "2022-02-22T18:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:63d40628f6e1b543161789a7] what branches would you like us to target for this? And does this need to be done urgently (as in, is it blocking other work?) or just \"for the next release\"?", "created": "2019-01-25T10:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think next release is fine", "created": "2019-01-25T12:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "From [~accountid:623e754d94742a00683f7cf0], \"Should we return fingerprints in the error message to indicate which CSRs are involved in the conflict?\"", "created": "2019-01-25T14:06:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Feel free to close this if you want, or file it away for future improvement. We ended up not needing it for 6.4.", "created": "2019-03-21T16:15:00.000000"}], "components": [], "created": "2019-01-25T10:34:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Server returns 200 when it receives an agent CSR request that exactly matches the CSR it already has saved for that certname."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6277492f"}, {"fieldName": "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-6828"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1mn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14937_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1213688828_*|*_10005_*:*_1_*:*_3897750115"}], "description": "Currently, if a server has a CSR on file for a given certname, and the agent submits a second one, the server will respond with a 400, regardless of whether the two CSRs are the same or different. This means that the agent can't tell whether the CSR the server has matches its current private keys or not, and therefore doesn't know whether it should continue waiting for a cert matching its keys, or clear state and start over, as it should if the server has a CSR that doesn't match the current state (because in this case the cert the server would sign would not be valid for the agent).\n\nWe should update the way the server responds to CSR requests to distinguish these two cases:\n1) if the CSRs match exactly, return 200 as a no-op server-side, and the agent can just proceed as if no previous CSR had been submitted.\n2) if the CSRs do not match, return 409 Conflict, to allow the agent to tell the user that the server has an invalid CSR that needs to be cleaned out before cert bootstrapping can continue.\n\nThis change should be backwards compatible, because the agent currently proceeds on a 200 and raises the server's error on anything else. This change would essentially mean we are just returning 200 in more cases than previously.", "epicLinkSummary": "Simplify agent SSL initialization", "estimate": "PT0S", "externalId": "17183", "fixedVersions": ["SERVER 6.y"], "id": "17183", "issueType": "Improvement", "key": "SERVER-2441", "labels": [], "originalEstimate": "PT0S", "parent": "20715", "parentSummary": "Simplify agent SSL initialization", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2019-03-25T15:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Return 200 when server already has agent's CSR", "timeSpent": "PT0S", "updated": "2019-03-25T15:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "Sorry there is not enough information here to understand the problem.\n\nAlso Puppet 3.8 is 3 years past its End of Life date. Please try upgrading to the latest version.", "created": "2019-01-22T15:37:00.000000"}], "components": [], "created": "2019-01-22T07:48:00.000000", "creator": "623c0e91d32a94006a6496c0", "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 apply my class."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@13b56216"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsb3r:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_28160021_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:*\u00a03.8.7-1.el7.noarch\n\n***Puppet Server Version:*\u00a03.8.4-1.el7.noarch\n\n**\n *OS Name/Version: Centos*\u00a07 \u2013 3.10.0-862.el7.x86_64\n\nI am getting below error message in puppet agent .\n\n\"Collect\" method undefined Centos 7 client.\n\nDebug: Failed to load library 'msgpack' for feature 'msgpack'\n\nDebug: Puppet::Network::Format[msgpack]: feature msgpack is missing\n\nDebug: catalog supports formats: pson b64_zlib_yaml yaml dot raw\n\nDebug: Using cached connection for [https://test.example.com:8140|https://devops2.lab3.bitgravity.com:8140/]\n\nDebug: Caching connection for [https://test.example.com:8140|https://devops2.lab3.bitgravity.com:8140/]\n\n*Error: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method `collect' for \"class_baseng\":String on node test.example.com*\n\n*/usr/share/ruby/vendor_ruby/puppet/indirector/rest.rb:207:in `is_http_200?'*\n\n*/usr/share/ruby/vendor_ruby/puppet/indirector/rest.rb:100:in `find'*\n\n*/usr/share/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:294:in `block in retrieve_new_catalog'*\n\n*/usr/share/ruby/vendor_ruby/puppet/util.rb:335:in `block in thinmark'*\n\n*/usr/share/ruby/benchmark.rb:296:in `realtime'*\n\n*/usr/share/ruby/vendor_ruby/puppet/util.rb:334:in `thinmark'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:293:in `retrieve_new_catalog'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:61:in `retrieve_catalog'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:106:in `prepare_and_retrieve_catalog'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:202:in `run_internal'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:134:in `block in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/context.rb:64:in `override'*\n\n*/usr/share/ruby/vendor_ruby/puppet.rb:246:in `override'*\n\n*/usr/share/ruby/vendor_ruby/puppet/configurer.rb:133:in `run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:47:in `block (4 levels) in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent/locker.rb:20:in `lock'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:47:in `block (3 levels) in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:117:in `with_client'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:44:in `block (2 levels) in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:82:in `run_in_fork'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:43:in `block in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:179:in `call'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/agent.rb:41:in `run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application/agent.rb:361:in `onetime'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application/agent.rb:327:in `run_command'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:381:in `block (2 levels) in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:507:in `plugin_hook'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:381:in `block in run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/util.rb:496:in `exit_on_fail'*\n\n*/usr/share/ruby/vendor_ruby/puppet/application.rb:381:in `run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/util/command_line.rb:146:in `run'*\n\n*/usr/share/ruby/vendor_ruby/puppet/util/command_line.rb:92:in `execute'*\n\n*/usr/bin/puppet:8:in `<main>'*\n\n*Warning: Not using cache on failed catalog*\n\n*Error: Could not retrieve catalog; skipping run*\n\n*ruby version :*\u00a02.0.0.648-34.el7_6.x86_64\n\n*Desired Behavior: should apply my class*\n\n*Actual Behavior: above error message appear like method undefine \"collect\"*\n\nExamples:\n Run puppet agent with --test --trace --debug\n\n/var/log/messages\u00a0\n\nJan 22 05:26:24 test puppet-master[32162]: undefined method `collect' for \"class_base\":String on node test.example.com\n\n\u00a0\n\nClassfier script execution output:\n\n*classes: class_baseng*\n\n*environment: production*\n\n*parameters:*\n\n\u00a0 *bg_param1:*\n\n\u00a0 \u00a0 *clusters: {}*", "environment": "production", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16538", "fixedVersions": [], "id": "16538", "issueType": "Bug", "key": "SERVER-2439", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0e91d32a94006a6496c0", "resolution": "Cannot Reproduce", "resolutionDate": "2019-01-22T15:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "undefined method 'collect' error", "timeSpent": "PT0S", "updated": "2019-01-22T15:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The skeleton is mostly done at this point, but needs tests before this ticket can be resolved.", "created": "2019-02-12T09:35:00.000000"}], "components": [], "created": "2019-01-18T11:59:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 working catalog endpoint in puppetserver that accepts a certname different from the authenticating certificate and returns dummy data for that certname"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73728069"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1gv:"}, {"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_*:*_93052266_*|*_1_*:*_1_*:*_10337_*|*_10007_*:*_1_*:*_79177270_*|*_3_*:*_1_*:*_1817541634_*|*_5_*:*_1_*:*_436931171_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_427599511"}], "description": "While we are finding out what Ruby code to call and the details of the API schema, we should build out the trapperkeeper skeleton of the new catalog compilation endpoint and have it return some dummy data, so that we can start playing with it and making sure it meets people's criteria. This will probably also give us a better idea of where the boundary between Ruby and Clojure should be.\n\nAs part of this, we should make a first pass at the tk-auth rules around it and make sure the authentication model makes sense and works.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "17182", "fixedVersions": ["SERVER 6.2.1"], "id": "17182", "issueType": "Task", "key": "SERVER-2437", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-02-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Build TK skeleton for new catalog endpoint", "timeSpent": "PT0S", "updated": "2019-02-20T12:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Email drafted. Once it has been approved by the consumers, I'll look into updating docs around this. Readme driven development :)", "created": "2019-01-29T12:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "For now, we have settled on:\n\nPOST /puppet/v4/catalog\nBody:\n{ certname: \"<name of catalog to be compiled>\",\n  persistence: { facts: <true/false>, catalogs: <true/false> }\n  [trusted_facts: { values: { ... } }],\n  [facts: { values: { ... } }],\n  [environment: { name: \"<environment name>\" }],\n  [classes: [ ... ]],\n  [parameters: { ... }],\n}\n\nThe idea here is to introduce a new version of the \"catalog\" API. For the proxy requests needed for these use cases, no certname is provided is part of the route, and all the data is instead supplied in the body. Since we intend to trigger the compilation in a new, cleaner way than the existing \"/v3/catalog\" endpoint, we would like the ability to move that one to \"/v4\" in the future, and keeping \"node requesting its own catalog\" as the only one that provides the certname in the URL gives us the ability to secure the two versions differently in tk-auth (which checks only the URL itself to find matching rules).", "created": "2019-01-31T09:54:00.000000"}], "components": [], "created": "2019-01-18T11:55: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@7037401b"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1h3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_10815_*|*_10007_*:*_1_*:*_42683_*|*_3_*:*_2_*:*_507291545_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_608566377"}], "description": "We need to check in with CD4PE and Network Automation and see if they have any hard requirements around the format of the catalog endpoint they need, to make sure that we design something they can use, and also that they can use something similar, because ideally we would like to ship just one endpoint that they both can use.\n\nThis definition should include:\n1) URL format\n2) Query params\n3) Required headers\n4) Repsonse format", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16907", "fixedVersions": [], "id": "16907", "issueType": "Task", "key": "SERVER-2436", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-01-31T09:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Define API schema for new catalog endpoint", "timeSpent": "PT0S", "updated": "2019-02-22T12:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Tickets have been created outlining the general strategy for this. Instead of using {{Catalog.find}}, use the compiler class method directly to circumvent the indirection workflow, and generate node and fact objects independently. All the tickets are in the [flexible catalog compilation|https://puppet.atlassian.net/browse/SERVER-2434] epic.", "created": "2019-01-31T10:39:00.000000"}], "components": [], "created": "2019-01-18T11:27:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Write up on how catalog compilation may be invoked in Ruby code"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5aaea78f"}, {"fieldName": "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": "SERVER-2434"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1gn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1544751_*|*_3_*:*_1_*:*_687832724_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_430943108"}], "description": "In order to make an informed decision about how much of the indirector we need to use to effect a catalog compilation, we need to do some spelunking in the Ruby code to find out what the entry points to the compiler are and how various options can be passed to them. This will help us decide where to put the boundary between Ruby and Clojure code for the new endpoints.\n\nSince ultimately we would all like to be able to stop using the indirector in Puppet, the main goal here is figuring out entry points _other_ than {{Catalog.find}}.", "epicLinkSummary": "Flexible catalog compilation", "estimate": "PT0S", "externalId": "16257", "fixedVersions": [], "id": "16257", "issueType": "Task", "key": "SERVER-2435", "labels": [], "originalEstimate": "PT0S", "parent": "15727", "parentSummary": "Flexible catalog compilation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-01-31T10:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate ways to trigger a compile in Puppet code", "timeSpent": "PT0S", "updated": "2019-01-31T10:39:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "5f9905b462584c006bd65363", "body": "Hey folks - not sure if this is the right place for this, but it'd be great if [https://forge.puppet.com/puppetlabs/catalog_preview]\u00a0could be updated to use these new endpoints, since its purpose is also to generate and inspect catalogs for arbitrary nodes and it's currently broken due to deprecations in 5.5 and 6.0.\u00a0 We're stretching to find a tool that actually works current versions to replicate functionality that was readily available for our upgrade from 3 to 4.\u00a0:(", "created": "2019-02-07T17:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think that this will probably give you what you need! We're shipping this endpoint in open source, so it should be available for you. It'd be great if we could solve even more problems with this work :)", "created": "2019-02-07T17:24:00.000000"}, {"author": "5f9905b462584c006bd65363", "body": "Great, thanks [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]! Just to clarify, the catalog_preview module is a project on here, I've opened a couple issues at https://puppet.atlassian.net/browse/PRE-144\u00a0and https://puppet.atlassian.net/browse/PRE-146\u00a0with the compatibility issues I've run into on newer versions in the hopes that it can be brought back to functional, but it's beyond my skills to dig quite that deep in the ruby indirectors. In any case, I'm excited for this endpoint to enable some really useful tools - being able to override the trusted hash for compilation testing is going to solve a problem we've run into - thanks a lot!", "created": "2019-02-07T17:44:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This endpoint worked with minimal difficulty for both consuming teams.", "created": "2019-04-29T10:53:00.000000"}], "components": [], "created": "2019-01-18T10:41:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Acceptance Criteria", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "See details in PE-25621 and PE-25714."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@446155ea"}, {"fieldName": "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": "Flexible catalog compilation"}, {"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": "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|hympt3:"}, {"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": "Puppet Server now has a new endpoint for catalog retrieval that allows many more options than the previous endpoint. This endpoint is controlled by tk-auth, and by default is not generally accessible. It is intended for use by other puppet services (like CD4PE). For details on the API, see https://github.com/puppetlabs/puppetserver/blob/master/documentation/puppet-api/v4/catalog.markdown."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_104176_*|*_6_*:*_1_*:*_0_*|*_10010_*:*_1_*:*_1752088336_*|*_10013_*:*_1_*:*_3427673673_*|*_10014_*:*_1_*:*_3543686327"}], "description": "Puppet Server currently only has one endpoint for requesting a catalog. This endpoint requires that the requester be requesting their own catalog, i.e. that the name on cert used to authenticate the request match the name of the node for which the catalog is being compiled. It also does not allow the caller to specify what happens with reports or facts.\n\nAs we expand our portfolio, the need has arisen for an endpoint that allows requesting catalogs for _other_ nodes. For example, CD4PE needs to request catalogs for arbitrary node names as part of Impact Analysis, and managing network devices requires a \"proxy agent\" to make catalog requests on the behalf of the devices being managed.\n\nWe want to create a new catalog endpoint that allows certain entities to request catalogs for arbitrary nodes. In the case of CD4PE, this would probably be controlled via an RBAC permission (see PE-25566), which for device management it would be locked down to the proxy agent's cert.\n\nIn order to service both of these use cases, this endpoint needs to be able to control whether or not reports and facts are saved to PuppetDB (CD4PE does not want this, Network Automation does), and under what name to save them. It also needs the ability to allow environments to be specified as part of the request, as an alternative to going through the classifier.\n\nThis endpoint might also enable us to create a CLI tool satisfying PUP-9055, that calls this endpoint on the backend. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15727", "fixedVersions": ["SERVER 6.3.0"], "id": "15727", "issueType": "Epic", "key": "SERVER-2434", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2019-04-29T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Flexible catalog compilation", "timeSpent": "PT0S", "updated": "2021-08-23T10:41:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We no longer vendor hiera-eyaml in puppetserver, instead relying on the version shipped with the agent, see SERVER-2187. However, it looks like we forgot to remove it from pe-puppet-server-extensions. I'll put up something to fix that.", "created": "2019-10-01T15:46:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-18T03:00: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@53b8000b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzsa1j:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22160770720_*|*_6_*:*_1_*:*_0"}], "description": "Hiera-eyaml\u00a03.0.0 has been released with some new features and bug fixes. We should upgrade the vendored\u00a0hiera-eyaml gem in Puppet server\u00a0from 2.1.0 to 3.0.0.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16904", "fixedVersions": [], "id": "16904", "issueType": "Bug", "key": "SERVER-2433", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Won't Do", "resolutionDate": "2019-10-01T15:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade vendored hiera-eyaml to version 3.0.0", "timeSpent": "PT0S", "updated": "2019-10-01T15:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "body": "I've opened a pull request for this issue at https://github.com/puppetlabs/jvm-ssl-utils/pull/86", "created": "2019-02-15T15:53:00.000000"}], "components": [], "created": "2019-01-18T01:02:00.000000", "creator": "623c11727910a200718b93db", "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": "byte arrays can be passed where Readerable is demanded with activated schema validation.\u00a0"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58c3c1a8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzs9zz:"}, {"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": "15/Feb/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1115123486_*|*_1_*:*_1_*:*_13794891872_*|*_5_*:*_1_*:*_0"}], "description": "When using the\u00a0jvm-ssl-utils library\u00a0with activated schema validations in tests we stumbled upon a strange behavior. Although passing a byte array as a Readerable we get schema violations. Further investigations led us to the schema definition [1]. `byte[]` may be valid clojure, but certainly not what was intended:\n\n{{\n user=> byte[]\n #object[clojure.core$byte 0x78ed3c5f \"clojure.core$byte@78ed3c5f\"]\n []\n}}\n\nThis gets parsed in two objects first `byte` and an empty vector. Same for `char[]`. The proper schema to use here would be `schema.core/bytes` and `schema.core/chars`.\u00a0\n\n\u00a0[1] [https://github.com/puppetlabs/jvm-ssl-utils/blob/master/src/clojure/puppetlabs/ssl_utils/core.clj#L131]\n\n\u00a0\n----\nOff-Topic:\u00a0 You should certainly think about activating issues in gitlab. We really appreciate that you create open source software and ourselves are keen to contribute whenever possible. However, I'm a little annoyed by the overhead of this issue report. Not only, that I had to create an account, storing my mail in this platform (which I didn't find a way to delete after this issue being closed), I feel very inconvenient posting here: After 20 minutes of exploring your Jira (which I'm luckily used to, others aren't), I'm not very sure that I created that ticket in the right project. Thus, please enable the issue tracker on gitlab if you don't want to miss valuable feedback on your projects in the future.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17181", "fixedVersions": ["None"], "id": "17181", "issueType": "Bug", "key": "SERVER-2440", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c11727910a200718b93db", "resolution": "Fixed", "resolutionDate": "2019-07-09T15:42:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "jvm-ssl-utils schema bug for schema 'Readerable'", "timeSpent": "PT0S", "updated": "2019-07-09T15:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey, thanks for the bug report! I think this is an issue with documentation vs implementation.\n\nThe intermediate CA support (and using it form the get-go) is a feature of Puppet[Server] 6.0 and later.\n\nHowever, we ship the CA command line tool in Puppet 5 (and continue to update it) so that users can get comfortable/update scripts with the interface for other CA related actions (listing, signing, cleaning) prior to upgrading.\n\n\u00a0\n\nAnecdotally, I think users have had quite a bit of trouble finding Puppet 5 docs when they're using Puppet 6 and vice versa. [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], if I'm correct here should we use this ticket to try to improve documentation in both 5 & 6, or maybe even try to put some kind of version checking into the CLI tool to warn/stop if setup is being ran for a Puppet 5 install?", "created": "2019-01-17T14:57:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah I like the idea of outputting a warning if you try to use the {{setup}} command. I feel like the Puppet 6 documentation is already fine, but it might be good to have slightly modified CA CLI docs for Puppet 5.", "created": "2019-01-17T15:02:00.000000"}, {"author": "623c12a0562ab90069f8b338", "body": "I ran into this very issue when trying to regenerate certificates in my environment. I'm currently running puppetserver 5.3.14 and a mix of puppet agents 5.5.22 and 6.22.1. The second option works fine.", "created": "2021-06-20T10:12:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-16T14:22:00.000000", "creator": "557058:e98c02c6-46ab-41b0-b16b-1d92396d164c", "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": "Correct output should be along the lines of:\n\n{code}\nroot@puppetmaster:~# puppetserver ca list --all\nSigned Certificates:\n puppet.example.com (SHA256) 8D:97:A4:0C:8C:B8:C4:BE:3C:92:5B:13:2A:57:AB:03:5A:82:3D:F3:29:AD:6A:E1:86:6F:7B:01:29:DA:99:B0 alt names: [\"DNS:puppet\"]\n{code}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1945b5ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzs8jr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_92822658_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_99004030213"}], "description": "Hi Folks,\n\nOn a brand new installation of puppetserver, I'm unable to get puppetserver ca cert to work out of the box as suggested in some docs.\n\nHere's my steps to reproduce:\n\n{code}\n#!/bin/bash\n\nsystemctl stop puppetserver\nrm -Rf /etc/puppetlabs/puppet/ssl\n/opt/puppetlabs/server/bin/puppetserver ca setup\necho \"\"\nfind /etc/puppetlabs/puppet/ssl/\necho \"\"\nsystemctl start puppetserver\npuppetserver ca list --all\n{code}\n\nGets us:\n\n{code}\nroot@puppetmaster:~# puppetserver ca list --all\nError:\n code: 500\n body: Internal Server Error: java.lang.IllegalArgumentException: \n    The PEM stream contains more than one object\n{code}\n\nDid some digging and narrowed this down to [https://github.com/puppetlabs/jvm-ssl-utils/blob/master/src/java/com/puppetlabs/ssl_utils/SSLUtils.java#L375]\u00a0which is the exact error.\n\nThe following works without issue:\n\n{code:shell}\n#!/bin/bash\n\n  systemctl stop puppetserver\n  rm -Rf /etc/puppetlabs/puppet/ssl\n\n  mkdir /etc/puppetlabs/puppet/ssl\n  chown puppet:puppet /etc/puppetlabs/puppet/ssl\n\n  systemctl start puppetserver\n\n  echo \"\"\n  find /etc/puppetlabs/puppet/ssl/\n  echo \"\"\n  puppetserver ca list --all\n{code}\n\nThe only discernable difference I could see between the two approaches is that ca setup generates CA certs, CRL etc with two certificate blocks, which is valid but something can't handle it.\n\nI'm happy working around this by using my second solution but this definitely feels like something should be handling this circumstance and isn't.\n\nThanks, Ian.", "environment": "Ubuntu 18.04 64 bit basic installation specifically for testing this issue as follows:\n\n{{wget https://apt.puppetlabs.com/puppet5-release-bionic.deb}}\n{{dpkg -i puppet5-release-bionic.deb}}\n{{apt-get update}}\n{{apt-get install puppetserver}}\n{{update-alternatives --install /usr/bin/puppet puppet /opt/puppetlabs/puppet/bin/puppet 1}}\n{{update-alternatives --install /usr/bin/puppetserver puppetserver /opt/puppetlabs/server/bin/puppetserver 1}}\n\n{{vim /etc/default/puppetserver to change 2g to 1g... (testing)}}\n\n{{systemctl start puppetserver}}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16256", "fixedVersions": [], "id": "16256", "issueType": "Bug", "key": "SERVER-2432", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e98c02c6-46ab-41b0-b16b-1d92396d164c", "resolution": "Won't Do", "resolutionDate": "2022-03-08T13:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet server ca setup fails with multiple CRL", "timeSpent": "PT0S", "updated": "2022-03-08T13:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [{"attacher": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "created": "2019-01-14T17:36:00.000000", "name": "rpm_puppetserver-6.1.1.0.1SNAPSHOT.2019.01.10T1717.el6_Security_Export.pdf", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10587"}], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Merged the bouncycastle update, where does the jline thing go?", "created": "2019-01-16T15:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've been trying to figure that one out\u00a0 \u00a0(\u00a0:\n\nIt looks like it's vendored by JRuby in their stdlib and is used by them to provide readline like behavior. I'm still unsure how to update it.", "created": "2019-01-16T16:31:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This ticket was used to track the bouncycastle update, I have filed SERVER-2461 to track the more complicated jline update.", "created": "2019-02-14T16:39:00.000000"}], "components": [], "created": "2019-01-14T17:41: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@36f8fb87"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": ["Impediment"]}, {"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|hyl1mf:"}, {"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": "Updated bouncy-castle to 1.60 to fix some security issues."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_143647661_*|*_3_*:*_1_*:*_109462850_*|*_5_*:*_2_*:*_503510133_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_2417177835_*|*_10006_*:*_1_*:*_5585998"}], "description": "{quote}\nSummary,Severity,Type,Provider,Component,Infected Version,Fix Version,Edited\n{quote}\n{quote}\nLegion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs version prior to version 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code.. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application.. This vulnerability appears to have been fixed in 1.60 and later.,High,security,JFrog,org.bouncycastle:bcpkix-jdk15on,< 1.60,1.60,2019-01-03T22:35:55Z\n{quote}\n{quote}\n\"Bouncy Castle BKS version 1 keystore (BKS-V1) files use an HMAC that is only 16 bits long, which can allow an attacker to compromise the integrity of a BKS-V1 keystore. All BKS-V1 keystores are vulnerable. Bouncy Castle release 1.47 introduces BKS version 2, which uses a 160-bit MAC.\",High,security,JFrog,org.bouncycastle:bcprov-jdk15on,\"\u2264 1.46,\u2265 1.49\",,2018-10-09T18:20:51Z\n{quote}\n{quote}\nArbitrary Code Injection,Medium,security,Snyk,jline:jline,\u2264 2.11,,2018-11-24T22:35:55Z\n{quote}\n{quote}\n\"Bouncy Castle BC 1.54 - 1.59, BC-FJA 1.0.0, BC-FJA 1.0.1 and earlier have a flaw in the Low-level interface to RSA key pair generator, specifically RSA Key Pairs generated in low-level API with added certainty may have less M-R tests than expected. This appears to be fixed in versions BC 1.60 beta 4 and later, BC-FJA 1.0.2 and later.\",Medium,security,JFrog,org.bouncycastle:bcprov-jdk15on,1.54 \u2264 Version \u2264 1.59,,2019-01-03T22:35:55Z\n{quote}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16537", "fixedVersions": ["SERVER 5.3.8", "SERVER 6.0.4", "SERVER 6.2.1"], "id": "16537", "issueType": "Task", "key": "SERVER-2431", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2019-02-20T12:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update bouncycastle and jline dependencies for security issues", "timeSpent": "PT0S", "updated": "2019-03-15T09:27:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-01-14T12:40:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@787836b7"}, {"fieldName": "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-9438"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzs6av:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3123_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_872718645"}], "description": "(Initial planned release date: 2019-01-23)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-01-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "estimate": "PT0S", "externalId": "15726", "fixedVersions": [], "id": "15726", "issueType": "Task", "key": "SERVER-2430", "labels": [], "originalEstimate": "PT0S", "parent": "23233", "parentSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-24T15:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.2.0)", "timeSpent": "PT0S", "updated": "2019-01-24T15:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-01-14T12:39:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@241d86e1"}, {"fieldName": "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-9438"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzs6af:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2727_*|*_3_*:*_1_*:*_11426975_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_691161022"}], "description": "(Initial planned release date: 2019-01-23)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\nNOTE - Docker pipelines will fail between when a tag is pushed and\n       that tag becomes publicly available for download!!\n", "duedate": "2019-01-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "estimate": "PT0S", "externalId": "15052", "fixedVersions": [], "id": "15052", "issueType": "Task", "key": "SERVER-2429", "labels": [], "originalEstimate": "PT0S", "parent": "23233", "parentSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-22T15:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.2.0)", "timeSpent": "PT0S", "updated": "2019-01-22T15:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2019-01-14T12:39:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2651ac8"}, {"fieldName": "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-9438"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzs6a7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2975_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_691052063"}], "description": "(Initial planned release date: 2019-01-23)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-01-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "estimate": "PT0S", "externalId": "14852", "fixedVersions": [], "id": "14852", "issueType": "Task", "key": "SERVER-2428", "labels": [], "originalEstimate": "PT0S", "parent": "23233", "parentSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Won't Do", "resolutionDate": "2019-01-22T12:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.2.0)", "timeSpent": "PT0S", "updated": "2019-01-22T12:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "Only SERVER-2404 will need to be moved to closed once the release is out.", "created": "2019-01-22T12:35:00.000000"}], "components": [], "created": "2019-01-14T12:39:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1191e818"}, {"fieldName": "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-9438"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzs69z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2511_*|*_3_*:*_1_*:*_155872_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_690818924"}], "description": "(Initial planned release date: 2019-01-23)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-01-15T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "estimate": "PT0S", "externalId": "17456", "fixedVersions": [], "id": "17456", "issueType": "Task", "key": "SERVER-2427", "labels": [], "originalEstimate": "PT0S", "parent": "23233", "parentSummary": "Puppet Platform 6.2.0 Release - 2019-01-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-22T12:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.2.0)", "timeSpent": "PT0S", "updated": "2019-01-22T12:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:b66bf049-e2fd-4068-9289-01c01c2b2b3b", "body": "I had the same issue. I found that uninstalling\u00a0openjdk-11-jre-headless and ensuring only openjdk-8-jre-headless is installed fixed this issue and therefore the puppetserver was able to start. I guess alternatively you could update-alternatives too to fix this.", "created": "2019-01-22T04:15:00.000000"}, {"author": "557058:a1e12f63-8e73-4de3-8319-ab98bd644a16", "body": "Perhaps, proper JAVA_BIN can be supplied in the environment file. + Startup script can check if java version is supported for extra safety.\n", "created": "2019-03-30T15:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this has been fixed. We now officially support Java 11 in Puppet Server, and I know part of that work involved fixing some issues with liberator. Please reopen if you're still having an issue.", "created": "2019-10-01T15:34:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-12T03:57:00.000000", "creator": "557058:fcc412ba-8765-4d1d-9afa-ec13b58fc9ed", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3855e37e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzs5dz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22675060305_*|*_6_*:*_1_*:*_0"}], "description": "I am unable to start puppetserver. It is failing with this error:\u00a0\n{noformat}\nJan 12 10:25:25 nodename.company.com puppetserver[27862]: Exception in thread \"main\" java.lang.ClassNotFoundException: javax.xml.ws.ProtocolException, compiling:(liberator/conneg.clj:1:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.load(Compiler.java:7391) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:372) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:363) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:453) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:419) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load$fn__5677.invoke(core.clj:5893) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.invokeStatic(core.clj:5892) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.doInvoke(core.clj:5876) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invokeStatic(core.clj:5697) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invoke(core.clj:5692) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib$fn__5626.invoke(core.clj:5737) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.invokeStatic(core.clj:5736) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.doInvoke(core.clj:5717) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.invokeStatic(core.clj:5774) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.doInvoke(core.clj:5758) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.invokeStatic(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.doInvoke(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.core$eval37324$loading__5569__auto____37325.invoke(core.clj:9) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.core$eval37324.invokeStatic(core.clj:9) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.core$eval37324.invoke(core.clj:9) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6927) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6916) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.load(Compiler.java:7379) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:372) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:363) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:453) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:419) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load$fn__5677.invoke(core.clj:5893) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.invokeStatic(core.clj:5892) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.doInvoke(core.clj:5876) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invokeStatic(core.clj:5697) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invoke(core.clj:5692) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib$fn__5626.invoke(core.clj:5737) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.invokeStatic(core.clj:5736) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.doInvoke(core.clj:5717) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.invokeStatic(core.clj:5774) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.doInvoke(core.clj:5758) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.invokeStatic(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.doInvoke(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:1096) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_core$eval37307$loading__5569__auto____37308.invoke(puppet_admin_core.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_core$eval37307.invokeStatic(puppet_admin_core.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_core$eval37307.invoke(puppet_admin_core.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6927) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6916) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.load(Compiler.java:7379) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:372) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:363) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:453) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:419) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load$fn__5677.invoke(core.clj:5893) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.invokeStatic(core.clj:5892) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.doInvoke(core.clj:5876) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invokeStatic(core.clj:5697) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invoke(core.clj:5692) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib$fn__5626.invoke(core.clj:5737) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.invokeStatic(core.clj:5736) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.doInvoke(core.clj:5717) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.invokeStatic(core.clj:5774) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.doInvoke(core.clj:5758) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.invokeStatic(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.doInvoke(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:482) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_service$eval37301$loading__5569__auto____37302.invoke(puppet_admin_service.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_service$eval37301.invokeStatic(puppet_admin_service.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.services.puppet_admin.puppet_admin_service$eval37301.invoke(puppet_admin_service.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6927) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6916) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.load(Compiler.java:7379) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:372) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.loadResourceScript(RT.java:363) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:453) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.load(RT.java:419) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load$fn__5677.invoke(core.clj:5893) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.invokeStatic(core.clj:5892) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load.doInvoke(core.clj:5876) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invokeStatic(core.clj:5697) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_one.invoke(core.clj:5692) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib$fn__5626.invoke(core.clj:5737) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.invokeStatic(core.clj:5736) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_lib.doInvoke(core.clj:5717) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.invokeStatic(core.clj:5774) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$load_libs.doInvoke(core.clj:5758) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:648) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.invokeStatic(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$require.doInvoke(core.clj:5796) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:408) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14848$resolve_service_BANG___14855$fn__14856$fn__14857.invoke(bootstrap.clj:210) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14848$resolve_service_BANG___14855$fn__14856.invoke(bootstrap.clj:210) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14848$resolve_service_BANG___14855.invoke(bootstrap.clj:203) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14902$resolve_and_handle_errors_BANG___14909$fn__14913.invoke(bootstrap.clj:241) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14902$resolve_and_handle_errors_BANG___14909.invoke(bootstrap.clj:232) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$map$fn__4785.invoke(core.clj:2644) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.LazySeq.sval(LazySeq.java:40) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.LazySeq.seq(LazySeq.java:49) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.seq(RT.java:521) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$seq__4357.invokeStatic(core.clj:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$filter$fn__4812.invoke(core.clj:2700) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.LazySeq.sval(LazySeq.java:40) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.LazySeq.seq(LazySeq.java:49) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.seq(RT.java:521) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$seq__4357.invokeStatic(core.clj:137) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$zipmap.invokeStatic(core.clj:2962) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$zipmap.invoke(core.clj:2962) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14822$check_duplicate_service_implementations_BANG___14829$fn__14830.invoke(bootstrap.clj:196) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14822$check_duplicate_service_implementations_BANG___14829.invoke(bootstrap.clj:189) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14988$parse_bootstrap_configs_BANG___14995$fn__14996.invoke(bootstrap.clj:306) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.bootstrap$eval14988$parse_bootstrap_configs_BANG___14995.invoke(bootstrap.clj:290) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$eval15279$boot_with_cli_data__15286$fn__15287.invoke(core.clj:130) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$eval15279$boot_with_cli_data__15286.invoke(core.clj:96) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$eval15308$run__15313$fn__15314.invoke(core.clj:152) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$eval15308$run__15313.invoke(core.clj:146) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$main.invokeStatic(core.clj:174) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.core$main.doInvoke(core.clj:160) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:512) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.invoke(Var.java:409) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.AFn.applyToHelper(AFn.java:178) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.applyTo(Var.java:700) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:646) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invoke(core.clj:641) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.main$_main.invokeStatic(main.clj:7) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at puppetlabs.trapperkeeper.main$_main.doInvoke(main.clj:4) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:512) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.invoke(Var.java:409) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.AFn.applyToHelper(AFn.java:178) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.applyTo(Var.java:700) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.core$apply.invokeStatic(core.clj:646) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.main$main_opt.invokeStatic(main.clj:314) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.main$main_opt.invoke(main.clj:310) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.main$main.invokeStatic(main.clj:421) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.main$main.doInvoke(main.clj:384) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RestFn.invoke(RestFn.java:619) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.invoke(Var.java:430) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.AFn.applyToHelper(AFn.java:195) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Var.applyTo(Var.java:700) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.main.main(main.java:37) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: Caused by: java.lang.ClassNotFoundException: javax.xml.ws.ProtocolException Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at java.base/java.lang.Class.forName0(Native Method) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at java.base/java.lang.Class.forName(Class.java:374) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.classForName(RT.java:2168) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.RT.classForNameNonLoading(RT.java:2181) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.conneg$eval37330$loading__5569__auto____37331.invoke(conneg.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.conneg$eval37330.invokeStatic(conneg.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at liberator.conneg$eval37330.invoke(conneg.clj:1) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6927) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.eval(Compiler.java:6916) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011at clojure.lang.Compiler.load(Compiler.java:7379) Jan 12 10:25:25 nodename.company.com puppetserver[27862]: #011... 155 more Jan 12 10:25:25 nodename.company.com puppetserver[27862]: Background process 27881 exited before start had completed Jan 12 10:25:25 nodename.company.com systemd[1]: puppetserver.service: Control process exited, code=exited status=1 Jan 12 10:25:25 nodename.company.com systemd[1]: puppetserver.service: Failed with result 'exit-code'. Jan 12 10:25:25 nodename.company.com systemd[1]: Failed to start puppetserver Service. Jan 12 10:25:26 nodename.company.com systemd[1]: puppetserver.service: Service hold-off time over, scheduling restart. Jan 12 10:25:26 nodename.company.com systemd[1]: puppetserver.service: Scheduled restart job, restart counter is at 5. Jan 12 10:25:26 nodename.company.com systemd[1]: Stopped puppetserver Service. Jan 12 10:25:26 nodename.company.com systemd[1]: Starting puppetserver Service... ^C root@nodename.company.com:~#\n{noformat}\nEverything was working fine till I faced this error.", "environment": "Kernel: 4.15.0-1031-aws\n\nUbuntu: 18.04.1", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17455", "fixedVersions": [], "id": "17455", "issueType": "Bug", "key": "SERVER-2426", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:fcc412ba-8765-4d1d-9afa-ec13b58fc9ed", "resolution": "Fixed", "resolutionDate": "2019-10-01T15:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver crashes with the error message \"Exception in thread \"main\" java.lang.ClassNotFoundException: javax.xml.ws.ProtocolException, compiling:(liberator/conneg.clj:1:1)\"", "timeSpent": "PT0S", "updated": "2019-10-01T15:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "There are methods for basic file serving that people already use, but to handle all cases (including pluginsync) we need some code level logic so it makes sense to just write a small jetty thing.", "created": "2019-01-23T10:48:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-09T17:25:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ccf7d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2nb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_109404_*|*_3_*:*_2_*:*_758503562_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_427164819"}], "description": "Before fully implementing file serving in clojure, figure out how much could be handled by an off the shelf webserver and how much actually requires custom code.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17454", "fixedVersions": [], "id": "17454", "issueType": "Task", "key": "SERVER-2425", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Fixed", "resolutionDate": "2019-01-23T10:48:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "spike how much file serving could be handled by other software", "timeSpent": "PT0S", "updated": "2019-01-23T10:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This has been merged and released in the gem. Getting into pe-puppetserver now to unblock PE-25662.", "created": "2019-01-16T16:14:00.000000"}], "components": [], "created": "2019-01-09T16:17: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@27bf76ed"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzs2a7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_81788384_*|*_1_*:*_1_*:*_18844_*|*_10007_*:*_1_*:*_108419122_*|*_3_*:*_1_*:*_496191973_*|*_5_*:*_1_*:*_13378889776_*|*_6_*:*_1_*:*_0"}], "description": "When enabling the infra-crl functionality, puppetserver expects three additional files to be present in order for the server to start: and inventory of the certnames of nodes considered to be \"infrastructure\", a map of those names to their serial numbers, and a CRL containing only the revocations from that list of nodes. These files will be generated automatically in call cases by {{puppetserver ca setup}} and {{puppetserver ca import}}, but in Puppet Server's bootstrapping code, only if the setting is enabled the first time the server is started (it generates them along with the rest of the CA). Likewise, pre-6 versions of Puppet Server will not generate them at all, in FOSS or PE.\n\nThis means that enabling this setting by default in PE will cause Puppet Server to fail to start either when upgrading from 2018.1 to 2019.0+, because the expected files do not exist. Likewise, a FOSS user toggling the setting to \"on\" would have to manually generate all three files before starting the server, not just the inventory file as [documented|https://puppet.com/docs/puppetserver/6.0/infrastructure_crl.html].\n\nIn PE, we manage the creation of the inventory file. In FOSS, we expect users to populate it themselves. We should add an action the CA CLI that generates the other two files based on it, creating the mapping of certnames to serial numbers, and generating a new, empty CRL based on the chain of the existing full CRL.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15485", "fixedVersions": ["SERVER 6.0.z", "SERVER 6.y"], "id": "15485", "issueType": "Task", "key": "SERVER-2424", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-01-17T14:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA CLI tool action for bootstrapping infra-crl", "timeSpent": "PT0S", "updated": "2019-06-21T12:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [{"attacher": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "created": "2019-09-23T11:27:00.000000", "name": "6.6.0-error.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11278"}], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "I think we probably need to explore a different method of loading facter. The dynamic stuff we're doing is all being removed and I'm not aware of any replacement. I'm not sure if that's actually related to this error, but it might solve both problems.", "created": "2019-01-09T17:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "IIRC, we use Facter to look up \"server_facts\" which are _fqdn_, _ipaddress_, (and does not need Facter, _serverversion_). If _fqdn_ does not return a valid value then _hostname_ and _domain_ from Facter are joined with a \".\".\n\n\u00a0\n\nCould we be able to get those values from Jetty/Java and skip using Facter completely?", "created": "2019-02-14T16:01:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "We should definitely do that if we can, it would help more than just this issue.", "created": "2019-02-14T16:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've gone spelunking in this today and I can pretty directly port how facter 2 resolves the fqdn/ipaddress values with relatively little code.\n\nI think the next step is to figure out how to update the Puppet code base to allow us to load the portions of Puppet we require w/o Facter being available (including no longer applying a settings catalog).\n\nThat's seems like a much bigger lift, and I'm unsure if it is really in scope for this ticket. Is anyone opposed to me spending tomorrow attempting that?", "created": "2019-04-23T17:00:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Sounds great!", "created": "2019-04-23T17:02:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Two updates:\n # facter 2 & facter 3 resolve domain names slightly differently, I'm unsure which a Java implementation would be most similar two\n # That java implementation that I got working yesterday involved enumerating interfaces from java.net.NetworkInterface, and choosing the interface with the lowest index that wasn't loopback and then attempting to get the canonical host name for it from InetAddress, falling back to parsing the resolv.conf (as both versions of facter do).\n\nTo continue on this work of removing facter from the server we'd need to:\n # require and refactor Puppet's initialization to not require Facter PUP-9686\n # disable applying the Settings catalog on init (types and providers legitimately require Facter)\u00a0PUP-8682\n # refactor Puppet to set the facts that we would otherwise call out to facter to use during init (eg. put server_facts in the context?)\u00a0PUP-9685\n # ensure the subsystems we load require everything they need (do not depend on a `require \"puppet\"` to load implicit dependencies)\n ## Currently we load:\n ### puppet\n ### puppet/info_service\n ### puppet/node/facts\n ### puppet/network/http*\n ### puppet/environment\n ### puppet/ssl/*", "created": "2019-04-25T15:09:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Now that this is scoped a bit better (and we understand that this isn't a small thing) we're going to put it back into the backlog until we have more time/Java 11 is a higher priority.", "created": "2019-04-25T15:37:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I had a shower thought the other day:\n\nIf we created a new tk lifecycle stage for per-process allocations that isn't called on HUP and moved our classpath modifying there, it might solve this problem for now.\n\nIt might be a clean, though somewhat round about way to fix this, and be less risky work, so we could start Java 11 testing earlier.\n\nI think the previously scoped work is probably large enough that we won't start on it until we absolutely need Java 11 support and might want to wait until Puppet 7 for some of the changes (I think there's some concern with backwards compatibility in changing how/where serverfacts are resolved).", "created": "2019-06-26T15:19:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This also blocks adding support for Debian 10 \"Buster\".", "created": "2019-08-05T15:36:00.000000"}, {"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "From a PE install. start/stop/restart all work, reload explodes and the resulting log, if it's helpful:\n\n{code}\n[root@iz6zmoxk62u6pia ~]# cat /opt/puppetlabs/server/apps/puppetserver/tmp/clojure-15526313326041835248.edn\n{:clojure.main/message\n \"Execution error (ClassNotFoundException) at java.lang.Class/forName0 (Class.java:-2).\\norg/quartz/impl/StdSchedulerFactory\\n\",\n :clojure.main/triage\n {:clojure.error/class java.lang.ClassNotFoundException,\n  :clojure.error/line -2,\n  :clojure.error/cause \"org/quartz/impl/StdSchedulerFactory\",\n  :clojure.error/symbol java.lang.Class/forName0,\n  :clojure.error/source \"Class.java\",\n  :clojure.error/phase :execution},\n :clojure.main/trace\n {:via\n  [{:type java.lang.ClassNotFoundException,\n    :message \"org/quartz/impl/StdSchedulerFactory\",\n    :at [java.lang.Class forName0 \"Class.java\" -2]}],\n  :trace\n  [[java.lang.Class forName0 \"Class.java\" -2]\n   [java.lang.Class forName \"Class.java\" 398]\n   [clojure.lang.RT classForName \"RT.java\" 2211]\n   [clojure.lang.RT classForName \"RT.java\" 2220]\n   [puppetlabs.trapperkeeper.services.scheduler.scheduler_core$create_scheduler\n    invokeStatic\n    \"scheduler_core.clj\"\n    22]\n   [puppetlabs.trapperkeeper.services.scheduler.scheduler_core$create_scheduler\n    invoke\n    \"scheduler_core.clj\"\n    14]\n   [puppetlabs.trapperkeeper.services.scheduler.scheduler_service$reify__53506$service_fnk__5026__auto___positional$reify__53513\n    init\n    \"scheduler_service.clj\"\n    43]\n   [puppetlabs.trapperkeeper.services$fn__4850$G__4842__4853\n    invoke\n    \"services.clj\"\n    9]\n   [puppetlabs.trapperkeeper.services$fn__4850$G__4841__4857\n    invoke\n    \"services.clj\"\n    9]\n   [puppetlabs.trapperkeeper.internal$fn__14593$run_lifecycle_fn_BANG___14600$fn__14601\n    invoke\n    \"internal.clj\"\n    196]\n   [puppetlabs.trapperkeeper.internal$fn__14593$run_lifecycle_fn_BANG___14600\n    invoke\n    \"internal.clj\"\n    179]\n   [puppetlabs.trapperkeeper.internal$fn__14622$run_lifecycle_fns__14627$fn__14628\n    invoke\n    \"internal.clj\"\n    229]\n   [puppetlabs.trapperkeeper.internal$fn__14622$run_lifecycle_fns__14627\n    invoke\n    \"internal.clj\"\n    206]\n   [puppetlabs.trapperkeeper.internal$fn__15197$build_app_STAR___15206$fn$reify__15218\n    restart\n    \"internal.clj\"\n    594]\n   [puppetlabs.trapperkeeper.internal$restart_tk_apps$restart_fn__14956\n    invoke\n    \"internal.clj\"\n    306]\n   [puppetlabs.trapperkeeper.internal$fn__14667$initialize_lifecycle_worker__14678$fn__14679$fn__14829$state_machine__11825__auto____14854$fn__14857\n    invoke\n    \"internal.clj\"\n    249]\n   [puppetlabs.trapperkeeper.internal$fn__14667$initialize_lifecycle_worker__14678$fn__14679$fn__14829$state_machine__11825__auto____14854\n    invoke\n    \"internal.clj\"\n    249]\n   [clojure.core.async.impl.ioc_macros$run_state_machine\n    invokeStatic\n    \"ioc_macros.clj\"\n    973]\n   [clojure.core.async.impl.ioc_macros$run_state_machine\n    invoke\n    \"ioc_macros.clj\"\n    972]\n   [clojure.core.async.impl.ioc_macros$run_state_machine_wrapped\n    invokeStatic\n    \"ioc_macros.clj\"\n    977]\n   [clojure.core.async.impl.ioc_macros$run_state_machine_wrapped\n    invoke\n    \"ioc_macros.clj\"\n    975]\n   [clojure.core.async$ioc_alts_BANG_$fn__12040 invoke \"async.clj\" 384]\n   [clojure.core.async$do_alts$fn__11980$fn__11983\n    invoke\n    \"async.clj\"\n    253]\n   [clojure.core.async.impl.channels.ManyToManyChannel$fn__6644$fn__6645\n    invoke\n    \"channels.clj\"\n    95]\n   [clojure.lang.AFn run \"AFn.java\" 22]\n   [java.util.concurrent.ThreadPoolExecutor\n    runWorker\n    \"ThreadPoolExecutor.java\"\n    1128]\n   [java.util.concurrent.ThreadPoolExecutor$Worker\n    run\n    \"ThreadPoolExecutor.java\"\n    628]\n   [java.lang.Thread run \"Thread.java\" 834]],\n  :cause \"org/quartz/impl/StdSchedulerFactory\"}}\n{code}", "created": "2019-09-04T15:16:00.000000"}, {"author": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "body": "This error is still occuring on startup for me with 6.6.0\n\n\n{noformat}\n{:clojure.main/message\n \"Execution error (NameError) at (REPL:1).\\n(NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 alread\ny loaded in another classloader)\\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\\n\",\n :clojure.main/triage\n {:clojure.error/class org.jruby.exceptions.NameError,\n  :clojure.error/cause\n  \"(NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\\ncannot\nlink Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\",\n  :clojure.error/phase :execution},\n :clojure.main/trace\n {:via\n  [{:type java.lang.IllegalStateException,\n    :message \"There was a problem adding a JRubyInstance to the pool.\",\n    :at\n    [puppetlabs.services.jruby_pool_manager.impl.jruby_agents$fn__33998$prime_pool_BANG___34003$fn__34007\n     invoke\n     \"jruby_agents.clj\"\n     75]}\n   {:type org.jruby.embed.InvokeFailedException,\n    :message\n    \"(NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\\ncanno\nt link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\",\n    :at\n    [org.jruby.embed.internal.EmbedRubyObjectAdapterImpl\n     call\n     \"EmbedRubyObjectAdapterImpl.java\"\n     320]}\n   {:type org.jruby.exceptions.NameError,\n    :message\n    \"(NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\\ncanno\nt link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\"}],\n  :trace [],\n  :cause\n  \"(NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\\ncannot\nlink Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.14.4 already loaded in another classloader)\"}}\n\n{noformat}\n", "created": "2019-09-21T16:09:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the bug report, [~accountid:557058:bff845c1-08a9-44e6-9a36-115b25b2e2de]!\n\nSorry to hear this still isn't working.\n\ni'm curious about this message:\n{quote}\n\"Execution error (NameError) at (REPL:1)\n{quote}\n\nDoes that error come from the puppetserver.log or syslog, or is that from running a command like {{pupetserver foreground}} or from a source install using the lein repl?\n\nYou say on startup, do you mean like actually when starting the server? Have you tweaked the number of JRuby instances you're running with? Do you know how many JRuby instances you have?", "created": "2019-09-23T10:21:00.000000"}, {"author": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "body": "3 jruby instances, I'll attach the full log (puppetserver log) now.  The install is based on the tarball from https://downloads.puppetlabs.com/puppet/ with the following link being the 'instructions' for how we install puppetserver https://github.com/gentoo/gentoo/blob/cb680a5e45d6569f2bc6017a19f36f4d187f56a3/app-admin/puppetserver/puppetserver-6.6.0.ebuild", "created": "2019-09-23T11:24:00.000000"}, {"author": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "body": "It seems similiar to https://puppet.atlassian.net/browse/SERVER-2421 but I'm using jdk-8 /opt/puppetlabs/server/apps/puppetserver/ezbake.manifest shows dynapath-0.2.5 as well.  I did test jdk-11 and had the same results.", "created": "2019-09-23T11:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm not really following the ebuild terminology, however I can tell you that the way fixed this was to stop loading Facter within Puppet Server's source code and instead add it to the classpath when we invoke Java.\n\nImplementation-wise we updated our cli-defaults.sh to add the facter.jar to our classpath variable here[1] which our scripts to start the service source here[2]. To fix this I think however you start the service needs to update the classpath that is given to the java command with the location of the facter.jar on disk.\n\nCan you verify if that works for you? If so we'll update our running from source docs to contain that info.\n\n\u00a0\n\n1.\u00a0[https://github.com/puppetlabs/puppetserver/pull/2166/files#diff-f14c271b13cf3880c7ea7b48c11fdedaR7]\n\n2.\u00a0[https://github.com/puppetlabs/ezbake/blob/master/resources/puppetlabs/lein-ezbake/template/global/ext/cli/start.erb#L52-L57]", "created": "2019-09-23T12:48:00.000000"}, {"author": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "body": "yep, looks like I missed that in packaging the update going from\n\n/usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Djava.security.egd=/dev/urandom -XX:OnOutOfMemoryError=\"kill -9 %p\" -cp /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar:/opt/puppetlabs/server/apps/puppetserver/jruby-1_7.jar clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config /etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/ --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter\n\nto\n\n\u00a0/usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Djava.security.egd=/dev/urandom -XX:OnOutOfMemoryError=\"kill -9 %p\" -cp /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar:/opt/puppetlabs/server/apps/puppetserver/jruby-1_7.jar:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.jar clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config /etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/ --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter\n\nI probably don't need to jruby include anymore but it's not hurting anything.", "created": "2019-09-23T13:20:00.000000"}, {"author": "557058:bff845c1-08a9-44e6-9a36-115b25b2e2de", "body": "As a side note, I wonder if there's a way to subscribe to this as a rss feed https://github.com/puppetlabs/puppetserver/commits/master/resources/ext  would be useful as a packager.", "created": "2019-09-23T13:23:00.000000"}], "components": [], "created": "2019-01-09T12:55: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@213440e1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1jr:"}, {"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": "Puppet Server can now be reloaded and run with multiple JRuby instances when running under Java 11."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_426734224_*|*_1_*:*_1_*:*_2936608493_*|*_10007_*:*_1_*:*_224892163_*|*_3_*:*_2_*:*_439144252_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_9159794945_*|*_10006_*:*_2_*:*_4583917454_*|*_10005_*:*_1_*:*_3814538665"}], "description": "Reloading Puppet Server fails in Java 11 with:\n{code}\n$ journalctl -xe\n...\nJan 08 00:29:50 k3vztg6tn4y2stv puppetserver[21913]: NameError: Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: c\nJan 08 00:29:50 k3vztg6tn4y2stv puppetserver[21913]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter\n...\n{code}\n{code}\n$ cat /var/log/puppetlabs/puppetserver/puppetserver.log\n...\nCaused by: org.jruby.embed.InvokeFailedException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.3 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.3 already loaded in another classloader)\n...\n{code}\n\nReloading Puppet Server 6.0.2 also fails in Java 11 but with an error to call a reflection API when finding Puppet Server's version.\n\nUnknown if these two kinds of failures are related but since Server seems to have never reloaded properly in Java 9+. This ticket should be considered a blocker to official support of those versions.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15725", "fixedVersions": ["SERVER 6.6.0"], "id": "15725", "issueType": "Improvement", "key": "SERVER-2423", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2019-09-16T09:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Fix failure to reload Server in Java 11", "timeSpent": "PT0S", "updated": "2019-09-23T13:23:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Thanks for the report [~accountid:557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83], I've moved this to the SERVER project. I assume it's related to the new JRuby version in puppetserver 6.x.", "created": "2019-01-08T10:48:00.000000"}, {"author": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "body": "i found an jruby bug, indicating that there are indeed performance problems with the newer jrubs version:\n\n[https://github.com/jruby/jruby/issues/3735]\n\n\u00a0\n\ni currently have increased the number of puppet server instances from 3 to 6, but the resource usage is still pretty high.\n\ni guess i would have to add another 3 instances, to have the same overall idle time then before.", "created": "2019-01-09T10:18:00.000000"}, {"author": "557058:88b7bd93-d432-4423-aaca-d0fdc06c4004", "body": "I've just upgraded our dev environment from Puppet 4 to 6 and the CPU usage of the puppet server has gone up so much that the server is unable to cope with more than about 4 nodes hitting it at the same time. Is there anything that can be done to fix this CPU usage issue?\n\n*edit:* sorry, please disregard! Turns out my custom heap size settings weren't being applied so it was actually the GC going crazy and eating all the CPU.", "created": "2019-08-01T09:28:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Are you still having issues with this?", "created": "2019-10-01T15:33:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-08T10:12:00.000000", "creator": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@610b0c1a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzs0x3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25077606089_*|*_6_*:*_1_*:*_0"}], "description": "The CPU utilization has dramatically increased after switching to Puppet 6.\n\nin one location we have 3 puppet server instances, 8 cores, 16GB memory each, behind a loadbalancer, serving ~2k nodes\n\nmax-active-instances is set to 8\n\nthese 3 instances now use between 90% to 100% of the cpu, with version 5 the cpu usage was below 50%.\n\nalso the time a puppet agent run takes has increase, from average ~30 seconds to ~2 minutes.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16255", "fixedVersions": [], "id": "16255", "issueType": "Bug", "key": "SERVER-2422", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:eba61c8c-c6d8-4bf7-b2ce-768471972b83", "resolution": "Fixed", "resolutionDate": "2019-10-25T17:12:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "PuppetServer 6, much higher CPU usage then with V5", "timeSpent": "PT0S", "updated": "2019-10-25T17:12:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, I was able to confirm that downgrading to 0.2.5 fixes this (and resolves the AOT issues with Java 11).\n\nJava 11 still is affected by this issue when reloading. I also installed 6.0.2 and it fails differently when reloading - I don't know if those two reloading issues have the same cause - but it looks like reloading has always been broken on Java 11.\n\nI think we should create a ticket to fix the service reloading in Java 11 (it will need more discovery, I won't try to root cause it here) and document it as a known issue in release notes.", "created": "2019-01-09T12:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Works for me. So for this release, we want to go to 0.2.5?", "created": "2019-01-09T12:37:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah", "created": "2019-01-09T12:57:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this release if needed, thanks!", "created": "2019-01-10T07:27:00.000000"}, {"author": "5b5a1e20cffc7f2ca3b5ba02", "body": "I just upgraded my puppet server to 18.04, and i'm running into this same issue with Java 10 and Puppet Server 6.2.0\n\n$ java --version\nopenjdk 10.0.2 2018-07-17\nOpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)\nOpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)\n\n$ puppetserver --version\npuppetserver version: 6.2.0\n\n\u00a0\n\nI don't see any package installed called \"dynapath\"\u00a0 can someone provide me a quick hint how to downgrade \"dynapath\"?", "created": "2019-02-15T12:53:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "If you're on 6.2.0, you should already have the downgraded version. Is initial load failing for you, or only reload?", "created": "2019-02-15T13:02:00.000000"}, {"author": "5b5a1e20cffc7f2ca3b5ba02", "body": "It crashes on startup due to the error.\u00a0\u00a0\n\nIf i start it as \"puppetserver foreground\" the 75th line of output is:\n\n\u00a0\n\n2019-02-15T12:26:54.081-08:00 INFO [clojure-agent-send-pool-0] [puppetserver] Puppet Puppet settings initialized", "created": "2019-02-15T13:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm not sure we'd ever tried the {{foreground}} case. It may be suffering the same issue as {{reload}}. We have SERVER-2423 to track the work for fixing that. In the meantime, it seems likely that {{foreground}} simply doesn't work on JDK10 (and probably not on 11 either) until we're able to resolve the issue with Facter.\n\nIs it possible for you to install and use JDK8 instead? That is the only version we officially support currently.\n\nIf it is acceptable for you to run puppetserver in background, that _does_ work on JDK10 as far as I know (minus the {{reload}} issue), and you can start and stop the server using your OS's service framework.\n\nIf the latter doesn't work, please let me know so that I can add it to the list of issues with newer Java versions, as we work to get official support for those in the coming months.", "created": "2019-02-15T14:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "FWIW, {{puppetserver foreground}} worked for me on Ubuntu 18.04 with Java 10 and Puppetserver 6.2.0. However, {{puppetserver reload}} did not.", "created": "2019-02-15T16:53:00.000000"}, {"author": "5b5a1e20cffc7f2ca3b5ba02", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] thanks for confirming.\u00a0 I was able to get 6.2 running on OpenJDK8, specifically\u00a0openjdk version \"1.8.0_191\"\n\n\u00a0\n\n\u00a0", "created": "2019-02-18T10:52:00.000000"}], "components": [], "created": "2019-01-08T10:09: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@199058e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl23b:"}, {"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": "09/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_7079434_*|*_1_*:*_1_*:*_12676_*|*_10007_*:*_1_*:*_66067668_*|*_3_*:*_1_*:*_91244913_*|*_5_*:*_1_*:*_450124904_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_5253011"}], "description": "In attempt to fix AOT compilation across Java versions, we updated dynapath from 0.2.4 to 1.0.0, because of the way it uses Java 8 vs Java 9+ APIs differently. However, this seems to have broken reloading the puppetserver service in a package install.\n\nFrom journalctl following a reload command:\n{code}\nJan 08 00:29:50 k3vztg6tn4y2stv puppetserver[21913]: NameError: Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: c\nJan 08 00:29:50 k3vztg6tn4y2stv puppetserver[21913]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter\n{code}\n\nFrom {{puppetserver.log}}:\n{code}\nCaused by: org.jruby.embed.InvokeFailedException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.3 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.3 already loaded in another classloader)\n{code}\n\nRolling dynapath back to 0.2.4 fixes this. I haven't tried it on Java 11 or with dynapath 0.2.5.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15945", "fixedVersions": ["SERVER 6.0.3", "SERVER 6.2.0"], "id": "15945", "issueType": "Bug", "key": "SERVER-2421", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2019-01-10T09:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver fails to reload with dynapath 1.0", "timeSpent": "PT0S", "updated": "2020-08-21T13:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "This seems like it should be easy to do by updating our SSL handlers in Jetty to add the certificate CN to the MDC every time a SSL request comes in that uses a client certificate. TK-470 would also make it easy to add to the access logs as well.", "created": "2019-08-23T11:06:00.000000"}], "components": ["Puppet Server"], "created": "2019-01-07T18:29:00.000000", "creator": "557058:d83223a2-1c20-4245-a31c-95c8f44172b7", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5dcd134e"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91k"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Aug/19"}], "description": "*Puppet Version: 5.5.8*\n *Puppet Server Version: 5.3.6*\n *OS Name/Version: Centos 7*\n\nI'd like it if the Puppetserver process were capable of including the certname of the relevant node in log output when a compilation error occurs (or really, when every any log message is emitted from the puppetserver in the process of working on a specific node).\n\nI don't need this to be included by default in the log messages. If the Certname was added to SLF4J's Mapped Diagnostic Context I'd be perfectly happy to adjust our logback configuration to take advantage of that (in fact, I'd be _happier_\u00a0that way than with it in the message body, since we're already using logback-gelf to have puppetserver send structured log messages and this way I won't need to parse the certname out of the message body).\n\n*Desired Behavior:*\n\n**Certname of node being processed is available to logback for association with log messages.\n\n*Actual Behavior:*\n\n\u00a0\n\nCertname of node being processed does not appear to be available to logback in MDC (or in any other manner that I can figure out).\n\n\u00a0\n\nNote that the certificate name _does_ appear to be available to the request/access logger, but I'm more interested in the puppetserver's actually logs than the request logs.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17180", "fixedVersions": [], "id": "17180", "issueType": "Improvement", "key": "SERVER-2420", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d83223a2-1c20-4245-a31c-95c8f44172b7", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow including certname in logs for compilation errors", "timeSpent": "PT0S", "updated": "2022-03-09T09:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Both branches of clj-parent have been released, as 1.17.19 and 2.5.0 respectively. Puppetserver updates incoming.", "created": "2019-01-03T17:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this is in the 5 series everywhere now (Server and PDB at least).", "created": "2019-01-07T15:04:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please provide release notes for this issue if needed, thanks!", "created": "2019-01-08T08:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yes this can be moved now that orchestrator updates also finished. It hasn't cleared CI on the 6.x branches because of an issue with something else in that clj-parent release (new dynapath for SERVER-2404), but 5.3.x is good to go.", "created": "2019-01-08T09:08:00.000000"}], "components": [], "created": "2019-01-02T15:41:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@760ee767"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrx33:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_173242592_*|*_1_*:*_1_*:*_365101_*|*_10007_*:*_1_*:*_494506191_*|*_5_*:*_1_*:*_448799039_*|*_6_*:*_1_*:*_0"}], "description": "This resolves several security issues: https://github.com/FasterXML/jackson-databind/issues/2186\n\n(all active branches)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16254", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.2.0"], "id": "16254", "issueType": "Task", "key": "SERVER-2418", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2019-01-15T13:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update jackson-databind to 2.9.8 in clj-parent", "timeSpent": "PT0S", "updated": "2019-01-15T13:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Going to wait on the update for JAVA_CLI_ARGS to land before doing this update.", "created": "2019-01-08T11:22:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please provide release notes for this issue if needed, thanks!", "created": "2019-01-10T07:27:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] Looking at your release notes - even though the JAVA_ARGS_CLI change got pulled in with the ezbake bump, that is not the issue that this ticket was opened for. PE-25574 has the details.", "created": "2019-01-10T10:39:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Oh, derp, sorry. I'll move those.", "created": "2019-01-10T10:41:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] or [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] did this get through CI yet?", "created": "2019-01-11T07:43:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "It went through FOSS fine. Having issues in PE, but that's not a blocker for the FOSS releases. Resolving this.", "created": "2019-01-11T09:04:00.000000"}], "components": [], "created": "2019-01-02T11:20:00.000000", "creator": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3f43e204"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl23j:"}, {"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": "08/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_172399181_*|*_1_*:*_1_*:*_518497004_*|*_10007_*:*_1_*:*_59761976_*|*_5_*:*_2_*:*_363097664_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_18777098"}], "description": "ezbake 1.9.1 sets TasksMax to 4915", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15051", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.2.0"], "id": "15051", "issueType": "Task", "key": "SERVER-2416", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "resolution": "Fixed", "resolutionDate": "2019-01-15T13:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Bump puppetserver to ezbake >= 1.9.1 to pull in TasksMax", "timeSpent": "PT0S", "updated": "2019-01-15T13:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-12-21T12:16: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@47c0f7fa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrvlb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1658908001_*|*_10007_*:*_1_*:*_675170366_*|*_3_*:*_1_*:*_85195226_*|*_5_*:*_1_*:*_0"}], "description": "When I run ticketmatch as a server release lead I want to see a section of the output that calls out the tickets in PUP (or elsewhere) that are assigned to the Server team and have an equivalent release version so I can triage them at the same time as with other tickets the Server team manages (the ones in the SERVER project) for the release.\n\nWhen I run ticketmatch as an agent release lead I want to see the tickets in PUP broken down by team responsible, so that I know who's responsible for each.", "duedate": "2019-01-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15724", "fixedVersions": [], "id": "15724", "issueType": "Improvement", "key": "SERVER-2415", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2019-01-18T12:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update ticketmatch to show tickets from other projects that are assigned to team X", "timeSpent": "PT0S", "updated": "2019-01-18T12:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There were no release branches or pipelines to clean up.", "created": "2019-01-14T16:34:00.000000"}], "components": [], "created": "2018-12-21T07:23:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c8f8398"}, {"fieldName": "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-9381"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrvbb:"}, {"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": "1_*:*_1_*:*_2390_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2106668633"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-01-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "estimate": "PT0S", "externalId": "15483", "fixedVersions": [], "id": "15483", "issueType": "Task", "key": "SERVER-2414", "labels": [], "originalEstimate": "PT0S", "parent": "22209", "parentSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-14T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.0.3)", "timeSpent": "PT0S", "updated": "2019-01-14T16:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-12-21T07:23:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6db68a00"}, {"fieldName": "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-9381"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrvav:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2487_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1833461468"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\n", "duedate": "2019-01-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "estimate": "PT0S", "externalId": "14849", "fixedVersions": [], "id": "14849", "issueType": "Task", "key": "SERVER-2413", "labels": [], "originalEstimate": "PT0S", "parent": "22209", "parentSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-11T12:41:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.0.3)", "timeSpent": "PT0S", "updated": "2019-01-11T12:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not creating a release branch unless necessary.", "created": "2019-01-10T09:17:00.000000"}], "components": [], "created": "2018-12-21T07:23:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4e8e03a3"}, {"fieldName": "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-9381"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrvan:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2488_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1734880239"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-01-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "estimate": "PT0S", "externalId": "17453", "fixedVersions": [], "id": "17453", "issueType": "Task", "key": "SERVER-2412", "labels": [], "originalEstimate": "PT0S", "parent": "22209", "parentSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-10T09:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.0.3)", "timeSpent": "PT0S", "updated": "2019-01-10T09:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-12-21T07:23:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50ab766e"}, {"fieldName": "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-9381"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrvaf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2883_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1734856720"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-01-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "estimate": "PT0S", "externalId": "17179", "fixedVersions": [], "id": "17179", "issueType": "Task", "key": "SERVER-2411", "labels": [], "originalEstimate": "PT0S", "parent": "22209", "parentSummary": "Puppet Platform 6.0.5 Release - 2019-01-15\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-10T09:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.0.3)", "timeSpent": "PT0S", "updated": "2019-01-10T09:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "There were no release branches or pipelines to clean up.", "created": "2019-01-14T16:34:00.000000"}], "components": [], "created": "2018-12-21T07:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@10f8aca0"}, {"fieldName": "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-9373"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrv2v:"}, {"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": "1_*:*_1_*:*_2566_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2107190038"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2019-01-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "estimate": "PT0S", "externalId": "15723", "fixedVersions": [], "id": "15723", "issueType": "Task", "key": "SERVER-2410", "labels": [], "originalEstimate": "PT0S", "parent": "23220", "parentSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-14T16:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.7)", "timeSpent": "PT0S", "updated": "2019-01-14T16:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-12-21T07:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d61a6ca"}, {"fieldName": "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-9373"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrv2f:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3520_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1833985229"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\n", "duedate": "2019-01-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "estimate": "PT0S", "externalId": "15050", "fixedVersions": [], "id": "15050", "issueType": "Task", "key": "SERVER-2409", "labels": [], "originalEstimate": "PT0S", "parent": "23220", "parentSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-11T12:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.7)", "timeSpent": "PT0S", "updated": "2019-01-11T12:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Merge ups are all up to date, going to not create a release branch unless something comes up and we need to.", "created": "2019-01-08T11:18:00.000000"}], "components": [], "created": "2018-12-21T07:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@500027e2"}, {"fieldName": "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-9373"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrv27:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2875_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1569831993"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2019-01-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "estimate": "PT0S", "externalId": "14846", "fixedVersions": [], "id": "14846", "issueType": "Task", "key": "SERVER-2408", "labels": [], "originalEstimate": "PT0S", "parent": "23220", "parentSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-08T11:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.7)", "timeSpent": "PT0S", "updated": "2019-01-08T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-12-21T07:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@470e784e"}, {"fieldName": "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-9373"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrv1z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2727_*|*_3_*:*_1_*:*_2688416_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1566983704"}], "description": "(Initial planned release date: 2019-01-15)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2019-01-08T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "estimate": "PT0S", "externalId": "17452", "fixedVersions": [], "id": "17452", "issueType": "Task", "key": "SERVER-2407", "labels": [], "originalEstimate": "PT0S", "parent": "23220", "parentSummary": "Puppet Platform 5.5.10 Release - 2019-01-15", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-08T11:15:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.7)", "timeSpent": "PT0S", "updated": "2019-01-08T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] something to consider for upcoming releases.  We think this has a pretty high ROI/ low cost.  ", "created": "2019-04-09T11:27:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Is this already happening in PE? Does your ROI calculation include SERVER-2405?", "created": "2019-04-09T14:38:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So there's a chance that this could break backwards compatibility against agents that don't correctly handle the 503 (Puppet < 5.3.0). Where would you imagine this landing?", "created": "2019-04-09T14:45:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "I think the assumption is that SERVER-2405 is implemented before this.  So it shouldn't break anything.  ", "created": "2019-04-09T14:47:00.000000"}, {"author": "5e3375e183d74c0e821851f3", "body": "It sounds like we would want to add PUP-9563 as a prerequisite as well.", "created": "2019-04-11T17:00:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Does PE enforce that agents must be of a certain version (like only supporting the agents as old as the LTS)? If PE enforces that say 2019.1 will only talk to agents as old as 2018.1 then this becomes a simple configuration change in PE.", "created": "2019-04-11T21:42:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "There's no enforcement of agent versions in PE.  ", "created": "2019-04-12T09:55:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "PE enforces a cutoff for the core infrastructure, i.e. nodes hosting masters and compilers, but agents are allowed to float wherever they please. This allows the upgrade of 1000s of agents to be decoupled from the upgrade of the core infrastructure and also facilitates migrating agents from older installations to newer ones.", "created": "2019-04-12T16:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Bummer, this is a two resource change in the puppet enterprise module for Kearney if you can assume agents are at least as new as Irving.", "created": "2019-04-12T16:31:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] Is this good to go after your other PR?", "created": "2020-02-06T14:54:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think that's true, this should be possible now with https://github.com/puppetlabs/puppetserver/pull/2247.", "created": "2021-02-23T17:58:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Yeah, SERVER-2405 added version checking that exempts ancient or non-puppet traffic from the limit. However, we may want to consider SERVER-2720 before flipping it on by default in order to limit the impact on a single agent run.", "created": "2021-02-24T12:48:00.000000"}], "components": [], "created": "2018-12-19T12:36:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@61bdc287"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ru:91j6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Apr/19"}], "description": "Puppet server 5.1.0 added a {{max-queued-requests}} setting that will terminate agent requests early when the number of requests waiting for a JRuby instance exceeded a limit imposed by the setting (SERVER-1767). The requests are failed with a HTTP 503 error that includes a Retry-After header set to a randomized number of seconds that the agent should sleep before retrying the request. This randomized sleep allows the server to \"re-splay\" thundering herds by spacing the agents out without requiring the intervention of human operators.\n\nCurrently, {{max-queued-requests}} is off by default. But, we should consider changing the default to enabled as the setting not only re-splays agent runs but ensures that some Jetty workers are free to handle requests that do not require a Ruby interpreter --- such as performance metric snapsots.\n\nThe \"ideal\" default for this limit is likely some multiple of {{max-active-jrubies}} with a hard cap that ensures 25% -- 33% of the Jetty worker pool is available to serve non-Ruby requests. We should also consider lowering the default for {{max-retry-delay}} from 30 minutes to 5 or 10 minutes so that agent runs are not overly delayed.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16536", "fixedVersions": [], "id": "16536", "issueType": "Improvement", "key": "SERVER-2406", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable max-queued-requests by default", "timeSpent": "PT0S", "updated": "2023-03-05T13:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Marked as a blocker to enabling max-queued-requests by default (SERVER-2406). This may also solve PCP-855 in passing as pxp-agent likely doesn't set an X-Puppet-Version header field and there is currently little to gain by throttling and splaying pxp-agent requests as the requests are mostly file downloads, which should complete quickly.", "created": "2018-12-19T12:39:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Since we had a docs ticket about the issue with older agents, we should probably have a release note here. I'll give it a shot, but please update it if needed!", "created": "2020-01-02T11:39:00.000000"}], "components": [], "created": "2018-12-19T12:27:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@299f0eff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrt8v:"}, {"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": "Puppet Server will no longer issue 503 responses to older agents that can't handle it, which allows the {{max-queued-requests}} setting to safely be used with older agents (though it still won't cause them to retry)."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_515476523_*|*_1_*:*_1_*:*_7579702_*|*_10007_*:*_1_*:*_1184239468_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_31549924626"}], "description": "Puppet server 5.1.0 added a {{max-queued-requests}} setting that will terminate agent requests early when the number of requests waiting for a JRuby instance exceeded a limit imposed by the setting (SERVER-1767). The requests are failed with a HTTP 503 error that includes a Retry-After header set to a randomized number of seconds that the agent should sleep before retrying the request. This randomized sleep allows the server to \"re-splay\" thundering herds by spacing the agents out without requiring the intervention of human operators.\n\nThe issue is that agents older than Puppet 5.3 don't have logic for reacting to the presence of a Retry-After header. As a result these older agents will \"fail fast\" and reach the end of their runs very quickly. When an agent reaches the end of a run, it schedules the next run --- which means older agents will end up scheduling at the same time and thus create a thundering herd.\n\nDue to this limitation, documentation on the {{max-queued-requests}} setting advises against using it unless the agent population is fully on 5.3 or newer (DOC-3845). We can improve this situation by updating [the logic that enforces max-queued-requests|https://github.com/puppetlabs/puppetserver/blob/5.3.6/src/clj/puppetlabs/puppetserver/jruby_request.clj#L66] to not impose the request limit if the X-Puppet-Version header indicates an older agent or is missing. This change would allow {{max-queued-requests}} to be used safely in populations that include older agents.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14836", "fixedVersions": ["SERVER 5.3.11", "SERVER 6.3.3", "SERVER 6.8.0"], "id": "14836", "issueType": "Improvement", "key": "SERVER-2405", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2020-01-08T10:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Skip enforcement of max-queued-requests if agent version is too old", "timeSpent": "PT0S", "updated": "2020-01-09T14:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Minor correction: we announced \"experimental\" support for Java 11.\n\nPrior to 6.1.0 we had no automated testing of Java 11, if it passed it was purely accidental, we now have unit style tests for Java 11 and they are all currently passing. We have not made it to package level testing, hence the \"experimental\" nature of the support.", "created": "2018-12-18T16:12:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "I just tested Puppet Server 6.1.0 on CentOS 7 with OpenJDK 11, and it crashes with a similar (if not identical) stack trace.\n\nSo the fact that I initially encountered this problem on Fedora 29 isn't relevant. The problem is with Puppet Server 6.1.0.", "created": "2018-12-18T16:17:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], I understand your point.\n\nBut my point is that from a user perspective, this \"enhancement\" from the release notes:\n\n{quote}\nPuppet Server now has experimental support for Java 11. This has been tested with low level tests but has not gone through high level packaged acceptance tests. Consequently, we consider this support \u201cexperimental\u201d, with full support coming later in 2019 for the latest long term supported version of Java.\n{quote}\n\n\u2026_is an utter lie_. From a user perspective, there is no possible sense that you can claim even experimental support for Java 11 in 6.1, when 6.1 _outright crashes_ if you attempt to use Java 11. This is especially egregious considering that 6.0 _did_ work with Java 11, even if that was only by accident.\n\nDocumentation of enhancements versus regressions in a new release must always be from the user's perspective. Or, to put it more colorfully: don't pee on the users' heads and tell them it's raining.\n\nI suggest deleting the above bullet point from the release notes, and adding either of the below bullet points to the known issues:\n\n{quote}\nFor those of you who were batsh\\*t crazy enough to try using 6.0 with Java 11 and realized that it actually worked, you'll notice that 6.1 _doesn't_ work with Java 11. So, 1) we admire your bravery/stupidity, and 2) sorry about that. But we had to break Java 11 support temporarily in order to work on Official\u2122 support for Java 11 done right, which will land later in 2019. So quit your whining", "created": "2018-12-18T17:36:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "What do you think the portion of users are who will use the package, vs running from source, when testing out Java 11?", "created": "2018-12-18T18:13:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I appreciate you opening this ticket, btw, we love to hear first hand the good and the bad of how working with Puppet Server is going.\n\nI'm still curious about what you think the portion of users who would try out experimental Java 11 support would do so from the packaged artifacts vs running from source or compiling it themselves? You might have inferred from the \"this is passing low level tests\" that we have a high confidence in this code from source but aren't testing packaged artifacts of it (I don't think we'd mark it as experimental support if we were).\n\nI'll look into updating the release notes to call out that the experimental support is only for those who want to try it out from source/compile it themselves.\n\nI looked through the stacktrace and have built Puppet Server on a CentOS 7 box several times to confirm why this is happening and it looks like this was caused with our move across the projects to AOTing clojure code (with the hopes improved start up times).\n\nWhile the code works if you compile Puppet Server's using JDK 11, it looks like there's a dependency of a dependency (dynapath) that is doing some \"if running in Java 8 try this api and if running in Java 9 or above use this api\". It looks like in this commit ([38fae3f|https://github.com/tobias/dynapath/commit/38fae3fd7ffeeff3d0ec435c02f5f4a36f0d46e9]) they fixed the bug where they were doing that at compile time and now properly do it at run time.\n\nI'll bump that dependency soon and it should come out in the next release of Puppet Server, though I still can't say if every will be perfect (it started in my test but I definitely didn't run our full acceptance suite against it).", "created": "2018-12-19T15:01:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], I don't understand your question.\n\nI suspect you are under the assumption that because the RHEL7 puppetserver package contains an explicit dependency on {{java-1.8.0-openjdk-headless}}:\n\n{noformat}\n$ rpm -q --requires puppetserver | grep java\njava-1.8.0-openjdk-headless\n{noformat}\n\n\u2026that puppetserver will always launch with OpenJDK 8.\n\nThis is _not_ the case, due to this excerpt from {{/etc/sysconfig/puppetserver}}:\n\n{noformat}\n# Location of your Java binary (version 7 or higher)\nJAVA_BIN=\"/usr/bin/java\"\n{noformat}\n\nOn Red Hat / CentOS / Fedora systems, {{/usr/bin/java}} is controlled through the alternatives(8) system:\n\n{noformat}\n$ ls -lsa /usr/bin/java\n4 lrwxrwxrwx. 1 root root 22 Dec 19 11:43 /usr/bin/java -> /etc/alternatives/java*\n{noformat}\n\nThis means that the puppetserver process will be launched with whatever JDK the system prefers, which will not necessarily be OpenJDK 8.\n\nIn my case, I installed the OpenJDK 11 packages as soon as they were available:\n\n{noformat}\n$ yum install java-11-openjdk-headless\n{noformat}\n\nIf both OpenJDK 8 and OpenJDK 11 are installed, and alternatives(8) is permitted to choose the \"best\" Java automatically, OpenJDK 8 will win:\n\n{noformat}\n$ alternatives --display java | grep -v slave\njava - status is auto.\n link currently points to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre/bin/java\n/usr/lib/jvm/java-11-openjdk-11.0.1.13-4.fc29.x86_64/bin/java - family java-11-openjdk.x86_64 priority 1\n/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre/bin/java - family java-1.8.0-openjdk.x86_64 priority 1800191\nCurrent `best' version is /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre/bin/java.\n{noformat}\n\nBut because I explicitly wanted to test to see what Java applications would break with OpenJDK 11, I explicitly set OpenJDK 11 to be the default:\n\n{noformat}\n$ alternatives --set java java-11-openjdk.x86_64\n\n$ alternatives --display java | grep -v slave\njava - status is manual.\n link currently points to /usr/lib/jvm/java-11-openjdk-11.0.1.13-4.fc29.x86_64/bin/java\n/usr/lib/jvm/java-11-openjdk-11.0.1.13-4.fc29.x86_64/bin/java - family java-11-openjdk.x86_64 priority 1\n/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre/bin/java - family java-1.8.0-openjdk.x86_64 priority 1800191\nCurrent `best' version is /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-11.fc29.x86_64/jre/bin/java.\n\n$ /usr/bin/java -version\nopenjdk version \"11.0.1\" 2018-10-16\nOpenJDK Runtime Environment 18.9 (build 11.0.1+13)\nOpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode, sharing)\n{noformat}\n\nIf it is the case that puppetserver should be launched _only_ using OpenJDK 8, then {{/etc/sysconfig/puppetserver}} is wrong. It should instead use the alternatives(8) paths to ensure it launches with its desired JDK:\n\n{noformat}\n# Currently only OpenJDK 8 is guaranteed to work.  Other Java JDKs (e.g.,\n# OpenJDK 11) may or may not work, so change this at your own risk!\nJAVA_BIN=\"/etc/alternatives/jre_1.8.0_openjdk/bin/java\"\n{noformat}\n\nOtherwise, all that is required for a system administrator to configure Puppet Server to launch with OpenJDK 11 is to run:\n\n{noformat}\n$ yum install java-11-openjdk-headless\n$ alternatives --set java java-11-openjdk.x86_64\n{noformat}\n\n\u2026and boom, Puppet Server is broken, using the official Puppet Server RPM packages, without touching a single Puppet Server configuration file. Running from source or manually compiling Puppet Server is _not_ necessary.\n\nI would argue that forward-thinking sysadmins will configure development/beta/test systems to use OpenJDK 11 as the default JDK, for the exact same reasons I did (to find incompatibilities in advance).", "created": "2018-12-20T14:30:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm aware of how alternatives work.\n\nWe also have FOSS users who run releases from source and other users that build their own packages.\n\nMy assumption was that the population of users who would be most likely to try Java 11 would include a higher percentage of those who also run from source or build their own packages than one typically sees. I assume those using packages are the majority, but I don't know if there's a meaningful portion of those trying out Java 11 using non official package based installation methods, or if it's just like three BSD dudes running from source and a government guy building his own packages, ya know?", "created": "2018-12-20T15:02:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "I'm not sure the assumption that the population of users who would be most likely to try Java 11 would include a higher percentage of those who also run Puppet Server from source or build their own packages is a valid one.\n\nRed Hat pushed {{java-11-openjdk}} RPMs to RHEL7 at the end of October. Red Hat fully supports OpenJDK 11. And while Red Hat and the OpenJDK folks have promised to continue security updates for OpenJDK 8, the writing is on the wall: OpenJDK 8 is legacy, and all sites should be preparing to transition to OpenJDK 11.\n\nThat's why I configured my test/development systems to use OpenJDK 11 by default. I wasn't specifically trying to break Puppet Server", "created": "2018-12-20T15:58:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "For background we did have some company sponsored work to prepare for, and potentially support Java 11 sooner rather than later, with Redhat announcing support for Java 8 until 2023 (only a year less than Java 11) the steam ran out of that endeavor last summer. While we'll probably have official Java 11 support sometime next year there's no commitments as to when exactly and the work necessary for us to build and test packages with Java 11 is currently unscheduled (assuming backwards compatibility in a minor releases we run the oldest minor that we can so we don't accidentally depend on a library that is only available in newer releases, consequently we run EL 7.2 in our infra).\n\nTo the extent we have \"experimental\" support is to the degree some of us developers have \"seen the writing on the wall\" and want to engage with the community and make the inevitable transition as easy as possible for everyone. We've done what we've can and tested this in our dev environments and in travis and have high confidence from a low level source perspective and hoped that that degree of confidence would be welcomed by the community. I'm sorry, that it worked before based on our earlier 9+ support work and that it doesn't work when installed from packages with this release, none of us were intending to \"pee on the [your]\u00a0head and tell [you]\u00a0it's raining\".\n\nI've opened PRs to update the release notes and fix the dependency that's causing this issue.", "created": "2018-12-21T17:09:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The PR bumping that dependency in puppetserver is https://github.com/puppetlabs/puppetserver/pull/1935.", "created": "2019-01-07T14:32:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] should this be moved to 'Ready for CI' (since it appears that the associated PR has been merged)?", "created": "2019-01-08T08:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We ran into an issue with the dynapath update, will need to keep investigating.", "created": "2019-01-08T09:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "With the fix in SERVER-2421, puppetserver should now once again be able to start on Java 11. Note that reloading is still broken, and seems to have always been, see SERVER-2423.", "created": "2019-01-09T17:37:00.000000"}], "components": ["Puppet Server"], "created": "2018-12-18T16:06:00.000000", "creator": "62438a418678e9007059bcca", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12c19f5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzrstz:"}, {"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 dependency issue, allowing Puppet Server packages to be started under Java 11."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_262978054_*|*_10007_*:*_1_*:*_1643268704_*|*_5_*:*_1_*:*_1352083572_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 6.1.0\n*Puppet Server Version:* 6.1.0\n*OS Name/Version:* Fedora 29 (using RHEL7 packages)\n\nI run Puppet Server on a Fedora 29 host, by using the Puppet packages in the RHEL7 yum repository.\n\nFor the last month or so, I have been testing running Puppet Server 6.0.x using OpenJDK 11. As far as I can tell, this worked perfectly. The only artifact I noticed was this start-up message:\n\n{noformat}\n2018-12-17T11:38:50.020003-05:00 myhost puppetserver[1878]: WARNING: An illegal reflective access operation has occurred\n2018-12-17T11:38:50.020003-05:00 myhost puppetserver[1878]: WARNING: Illegal reflective access by org.jruby.ext.openssl.SecurityHelper (file:/tmp/jruby-1894/jruby15087714324251502022jopenssl.jar) to constructor java.security.cert.CertificateFactory(java.security.cert.CertificateFactorySpi,java.security.Provider,java.lang.String)\n2018-12-17T11:38:50.020003-05:00 myhost puppetserver[1878]: WARNING: Please consider reporting this to the maintainers of org.jruby.ext.openssl.SecurityHelper\n2018-12-17T11:38:50.020003-05:00 myhost puppetserver[1878]: WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\n2018-12-17T11:38:50.021000-05:00 myhost puppetserver[1878]: WARNING: All illegal access operations will be denied in a future release\n{noformat}\n\nSo I was excited to see the Puppet Server 6.1.0 release, with \"official\" support for OpenJDK 11.\n\nBut, irony of ironies, if I attempt to start Puppet Server 6.1.0 with OpenJDK 11, it outright dies. Here's the stack backtrace:\n\n{noformat}\nDec 18 17:59:54 myhost systemd[1]: Starting puppetserver Service...\nDec 18 18:00:05 myhost puppetserver[4700]: Exception in thread \"main\" java.lang.ExceptionInInitializerError\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.defaults__init.load(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.defaults__init.<clinit>(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.loadClassForName(RT.java:2232)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:450)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:426)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load$fn__6548.invoke(core.clj:6046)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.invokeStatic(core.clj:6045)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.doInvoke(core.clj:6029)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invokeStatic(core.clj:5848)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invoke(core.clj:5843)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.invokeStatic(core.clj:5887)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.doInvoke(core.clj:5868)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.invokeStatic(core.clj:5925)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.doInvoke(core.clj:5909)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.invokeStatic(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.doInvoke(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:421)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.util$loading__6434__auto____14850.invoke(util.clj:1)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.util__init.load(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.util__init.<clinit>(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.loadClassForName(RT.java:2232)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:450)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:426)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load$fn__6548.invoke(core.clj:6046)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.invokeStatic(core.clj:6045)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.doInvoke(core.clj:6029)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invokeStatic(core.clj:5848)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invoke(core.clj:5843)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.invokeStatic(core.clj:5887)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.doInvoke(core.clj:5868)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.invokeStatic(core.clj:5925)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.doInvoke(core.clj:5909)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.invokeStatic(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.doInvoke(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:421)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.kitchensink.classpath$loading__6434__auto____14848.invoke(classpath.clj:1)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.kitchensink.classpath__init.load(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.kitchensink.classpath__init.<clinit>(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.loadClassForName(RT.java:2232)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:450)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:426)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load$fn__6548.invoke(core.clj:6046)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.invokeStatic(core.clj:6045)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.doInvoke(core.clj:6029)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invokeStatic(core.clj:5848)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invoke(core.clj:5843)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.invokeStatic(core.clj:5887)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.doInvoke(core.clj:5868)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.invokeStatic(core.clj:5925)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.doInvoke(core.clj:5909)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.invokeStatic(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.doInvoke(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:457)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.plugins$loading__6434__auto____14846.invoke(plugins.clj:1)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.plugins__init.load(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.plugins__init.<clinit>(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.loadClassForName(RT.java:2232)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:450)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:426)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load$fn__6548.invoke(core.clj:6046)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.invokeStatic(core.clj:6045)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.doInvoke(core.clj:6029)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invokeStatic(core.clj:5848)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invoke(core.clj:5843)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.invokeStatic(core.clj:5887)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.doInvoke(core.clj:5868)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.invokeStatic(core.clj:5925)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.doInvoke(core.clj:5909)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.invokeStatic(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.doInvoke(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:1096)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.core$loading__6434__auto____199.invoke(core.clj:1)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.core__init.load(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.core__init.<clinit>(Unknown Source)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.loadClassForName(RT.java:2232)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:450)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.load(RT.java:426)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load$fn__6548.invoke(core.clj:6046)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.invokeStatic(core.clj:6045)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load.doInvoke(core.clj:6029)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invokeStatic(core.clj:5848)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_one.invoke(core.clj:5843)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.invokeStatic(core.clj:5887)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_lib.doInvoke(core.clj:5868)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:142)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.invokeStatic(core.clj:5925)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$load_libs.doInvoke(core.clj:5909)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:659)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.invokeStatic(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$require.doInvoke(core.clj:5947)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.invoke(RestFn.java:408)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.main$_main.invokeStatic(main.clj:6)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at puppetlabs.trapperkeeper.main$_main.doInvoke(main.clj:4)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.Var.applyTo(Var.java:702)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.core$apply.invokeStatic(core.clj:657)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.main$main_opt.invokeStatic(main.clj:317)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.main$main_opt.invoke(main.clj:313)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.main$main.invokeStatic(main.clj:424)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.main$main.doInvoke(main.clj:387)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RestFn.applyTo(RestFn.java:137)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.Var.applyTo(Var.java:702)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.main.main(main.java:37)\nDec 18 18:00:05 myhost puppetserver[4700]: Caused by: java.lang.ClassNotFoundException: sun.misc.Launcher$ExtClassLoader\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName0(Native Method)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at java.base/java.lang.Class.forName(Class.java:398)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2204)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at clojure.lang.RT.classForName(RT.java:2213)\nDec 18 18:00:05 myhost puppetserver[4700]: #011at dynapath.defaults$fn__14921.<clinit>(defaults.clj:14)\nDec 18 18:00:05 myhost puppetserver[4700]: #011... 151 more\nDec 18 18:00:05 myhost puppetserver[4700]: Background process 4707 exited before start had completed\nDec 18 18:00:05 myhost systemd[1]: puppetserver.service: Control process exited, code=exited status=1\nDec 18 18:00:05 myhost systemd[1]: puppetserver.service: Failed with result 'exit-code'.\nDec 18 18:00:05 myhost systemd[1]: Failed to start puppetserver Service.\n{noformat}\n\nIf I switch the default JDK back to OpenJDK 8, then Puppet Server starts normally.\n\n*Desired Behavior:*\n\nPuppet Server 6.1.x should not die with OpenJDK 11\u2014especially since Puppet Server 6.0.x worked just fine with OpenJDK 11!\n\n*Actual Behavior:*\n\nPuppet Server 6.1.x dies with OpenJDK 11.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15722", "fixedVersions": ["SERVER 6.2.0"], "id": "15722", "issueType": "Bug", "key": "SERVER-2404", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62438a418678e9007059bcca", "resolution": "Fixed", "resolutionDate": "2019-01-09T17:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver 6.1.0 dies with OpenJDK 11, but 6.0.2 worked", "timeSpent": "PT0S", "updated": "2019-01-25T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] do you know if anyone from the installer team ever looked into this as part of regen workflows? Is this module used in PE?", "created": "2019-09-27T17:18:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "It is not shipped with PE.  \n\nI don't think it was ever looked at.  I believe this module is mostly for CA expiration which is much less common than \"I messed up my certs and need to regenerate them.\" ", "created": "2019-09-30T10:25:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This module appears to be unmaintained. If anyone wants to use it and is having trouble with the modern CA, we can revisit this.", "created": "2021-02-25T10:56:00.000000"}], "components": [], "created": "2018-12-17T17:46: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@6bc12b99"}, {"fieldName": "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": "SERVER-2378"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrrzz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24870846730_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_44310938087"}], "description": "There exists a module for regenerating the certs of a puppet infrastructure: https://github.com/puppetlabs/puppetlabs-certregen. This has not yet been evaluated for compatibility with Puppet 6. We should test it out and see if it works, and if it doesn't, file the tickets necessary to fix it.", "epicLinkSummary": "Future CA Improvements", "estimate": "PT0S", "externalId": "15482", "fixedVersions": [], "id": "15482", "issueType": "Improvement", "key": "SERVER-2403", "labels": [], "originalEstimate": "PT0S", "parent": "15942", "parentSummary": "Future CA Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2021-02-25T10:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate certregen module's puppet 6 compatibility", "timeSpent": "PT0S", "updated": "2021-02-25T10:56:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:0605a129-ce49-46e3-912d-378334931850", "created": "2018-12-16T18:35:00.000000", "name": "puppetserver.log", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10967"}], "comments": [{"author": "557058:0605a129-ce49-46e3-912d-378334931850", "body": "Note the 'unknown' file type.", "created": "2018-12-16T18:39:00.000000"}, {"author": "623a4a338d8b9c0068b7e30f", "body": "It's actually a jruby/jnr-posix bug.\n\n[https://github.com/jruby/jruby/issues/5521]\n [https://github.com/jnr/jnr-posix/issues/126]\n{code}root@puppet:~ # jirb\n irb(main):001:0> File.stat(\"/usr/local/etc/puppet\").ftype()\n => \"blockSpecial\"\n irb(main):002:0> File.stat(\"/usr/local/etc/puppet/puppet.conf\").ftype()\n => \"unknown\"\n{code}\n{code}root@puppet:~ # irb\n irb(main):001:0> File.stat(\"/usr/local/etc/puppet\").ftype()\n => \"directory\"\n irb(main):002:0> File.stat(\"/usr/local/etc/puppet/puppet.conf\").ftype()\n => \"file\"\n{code}", "created": "2018-12-29T21:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing, since it sounds like this is a bug outside of our software. Please reopen if you think there's something for Puppet to do here.", "created": "2019-09-27T17:16:00.000000"}], "components": ["Puppet Server"], "created": "2018-12-16T18:35:00.000000", "creator": "557058:0605a129-ce49-46e3-912d-378334931850", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@46170cf9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzrqjr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24615604110_*|*_6_*:*_1_*:*_0"}], "description": "Good day,\n\n\u00a0\n\nOn FreeBSD 12.0-RELEASE, puppetserver 6.0.2 is unable to start correctly for what appears to be a file detection issue, or perhaps a permission issue, though all the permissions look to be in order, from what I can tell.\n\n\u00a0\n\nWhere is the manifest that is run when puppetserver starts for the first time?\u00a0 Is there a way to see what exactly the failure is?\u00a0 Perhaps I'm missing it in the attached logs.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17451", "fixedVersions": [], "id": "17451", "issueType": "Bug", "key": "SERVER-2402", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:0605a129-ce49-46e3-912d-378334931850", "resolution": "Fixed", "resolutionDate": "2019-09-27T17:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver6 unable to start on FreeBSD 12.0-RELEASE", "timeSpent": "PT0S", "updated": "2019-09-27T17:16:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This has been merged everywhere in FOSS and the necessary PE projects, I will leave this open until its finished promoting and running in the Kearney HA tests (should happen ~6pm PT today).", "created": "2018-12-14T14:57:00.000000"}], "components": [], "created": "2018-12-13T12:42: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@66d8fb1d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "Flagged", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes", "value": ["Impediment"]}, {"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|hzroxz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_256895466_*|*_1_*:*_1_*:*_26217_*|*_10007_*:*_1_*:*_70710558_*|*_3_*:*_1_*:*_10290327_*|*_5_*:*_1_*:*_161260325_*|*_6_*:*_1_*:*_0"}], "description": "Previously the ca cli tool would check to see if the CA was down before it would offline generate certs for ca clients. This depended on catching a connection refused exception when trying to connect to the status endpoint for the CA.\n\nWith our new error handling for connection issues we catch all connection errors at lower level and raise a custom error handling. This causes the offline check to fail as it's trying to catch a different exception.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14835", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.1.0"], "id": "14835", "issueType": "Bug", "key": "SERVER-2401", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-12-17T10:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Regression in error CA availability checking", "timeSpent": "PT0S", "updated": "2019-01-10T09:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-12-13T11:36: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@7d5f8117"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrorb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24899866047_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77138658644"}], "description": "The CA CLI has a number of assumptions about when it can and cannot connect to a CA and how it can do so:\n # It should be able to connect to a CA for all normal maintenance operations.\n # It should not be able to connect to a CA for running its setup, import, or the generation/revocation of authorized certs.\n # It should honor server_list and and server in the same ways that the puppet agent does.\n\n\u00a0\n\nFailures to be able to do any of the above should result in helpful error messages.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "17450", "fixedVersions": [], "id": "17450", "issueType": "Improvement", "key": "SERVER-2400", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T11:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Write acceptance tests around ca-cli -> ca connectivity behaviors", "timeSpent": "PT0S", "updated": "2022-03-08T11:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the report, we'll try and update the defaults and docs!", "created": "2018-12-19T11:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Docs should have already been updated, all of our new point releases will include JAVA_ARGS_CLI in the defaults/sysconfig files.", "created": "2019-01-10T10:07:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The PE fix was merged Friday but didn't run this weekend for some reason. Triggered them this morning and they've recently passed.", "created": "2019-01-14T15:12:00.000000"}], "components": ["Puppet Server"], "created": "2018-12-13T05:25:00.000000", "creator": "557058:9a232d75-226a-48ff-9050-4ce1be3217aa", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70f1198f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrofr:"}, {"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": "The EZBake configs now allow you to specify JAVA_ARGS_CLI, which is used when using puppetserver subcommands to configure Java differently from what is needed for the service. Note that this was used by the CLI before, but just as an environment variable, not as an EZBake config option."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_540405560_*|*_10007_*:*_3_*:*_1973684640_*|*_3_*:*_1_*:*_76004056_*|*_5_*:*_2_*:*_171974748_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_119806965"}], "description": "*Puppet Server Version: 6.0.2-1bionic*\n\n*OS Name/Version: Ubuntu 18.04*\n\nAs [https://puppet.com/docs/puppetserver/6.0/known_issues.html] mentions\n\nediting /etc/default/puppetserver JAVA_ARGS with {{-Djava.io.tmpdir=/some/other/temporary/directory}} enables puppetserver to start successfully.\n\n\u00a0\n\nHowever the sub commands (puppetserver gem install ...) use JAVA_ARGS_CLI and there is no mention of it in the puppetserver default file and Google is not cooperating thus taking a long time to troubleshoot.\n\n\u00a0\n\n*Desired Behavior:*\n\n/etc/default/puppetserver to have an example for JAVA_ARGS_CLI\n\n*Actual Behavior:*\n\nIn 18.04 if there is a security requirement to have noexec for /tmp mount\n\npuppetserver gem install 'ANY_GEM' fails with the following stack trace\n\npuppetserver gem install vault --no-ri --no-rdoc \n io/console on JRuby shells out to stty for most operations \n NotImplementedError: flock unsupported or native support failed to load; see [http://wiki.jruby.org/Native-Libraries] \n flock at org/jruby/RubyFile.java:314 \n block in read_binary at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:851 \n open at org/jruby/RubyIO.java:1171 \n open at org/jruby/RubyKernel.java:307 \n read_binary at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:850\n fetch_spec at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/source.rb:146 \n spec at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/resolver/api_specification.rb:77\n add_always_install at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/resolver/installer_set.rb:78\n resolve_dependencies at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/dependency_installer.rb:474\n install_gem at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:194 \n block in install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:255\n each at org/jruby/RubyArray.java:1735 \n install_gems at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:251 \n execute at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/commands/install_command.rb:158 \n invoke_with_build_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command.rb:310 \n process_args at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:169 \n run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/command_manager.rb:139 \n run at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/gem_runner.rb:55 \n <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/jgem:21\n load at org/jruby/RubyKernel.java:974 \n <main> at /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/bin/gem:1\n load at org/jruby/RubyKernel.java:974 \n <main> at -e:1\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16901", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.2.0"], "id": "16901", "issueType": "Improvement", "key": "SERVER-2399", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a232d75-226a-48ff-9050-4ce1be3217aa", "resolution": "Fixed", "resolutionDate": "2019-01-14T15:13:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Include JAVA_ARGS_CLI example into /etc/default/puppetserver for Debian based systems", "timeSpent": "PT0S", "updated": "2019-01-15T23:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623c107b761efb0069ce0479", "created": "2018-12-13T01:03:00.000000", "name": "image-2018-12-13-13-32-06-283.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10813"}], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:623c107b761efb0069ce0479] what does {{journalctl -xe}} show? Note {{puppetmaster}} is not a valid service name. See https://puppet.com/docs/puppetserver/6.0/restarting.html for more details. Please join the #puppet slack channel in https://slack.puppet.com/ to get help with this issue. I'm going to close this ticket.", "created": "2018-12-13T12:20:00.000000"}], "components": ["Certificate Authority", "Puppet Server"], "created": "2018-12-13T01:03:00.000000", "creator": "623c107b761efb0069ce0479", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a63d22d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzroef:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_40622674_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_7448"}], "description": "!image-2018-12-13-13-32-06-283.png!", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14834", "fixedVersions": [], "id": "14834", "issueType": "Bug", "key": "SERVER-2398", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c107b761efb0069ce0479", "resolution": "Incomplete", "resolutionDate": "2018-12-13T12:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Not able to restart puppetserver to apply certificate changes", "timeSpent": "PT0S", "updated": "2018-12-13T12:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The pipelines have been removed from cjc and the mergeup of the tag into master is approved and pending merge. Once that's done I'll delete the branch.\n\nI don't have anything to note from the tickets this release, so I'm not expecting anything to do to update Winston.\n\nI'll leave this ticket open and in progress until after the retro in case there's anything that comes out of it that warrants updating Winston.", "created": "2018-12-17T16:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "PRs, merged. Deleting the branch.\n\nHowever, we'll need to at least update Winston somewhere to warn that between tag and ship the docker CI builds will fail.", "created": "2018-12-17T17:46:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Thanks [~accountid:557058:104b5720-714d-4539-b455-df472251ec89], has that been done (and can we therefore resolve this issue)?", "created": "2018-12-20T12:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The winston update hasn't been done, was going to wait until after the release retro for that.", "created": "2018-12-20T12:02:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Nothing came out of the retro that I needed to add to winston. Opened [winston#214|https://github.com/puppetlabs/winston/pull/214/files]\u00a0for the previously noted docker issue.", "created": "2018-12-21T12:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This PR was just merged [https://github.com/puppetlabs/winston/pull/214#event-2061579279]\u00a0I don't believe it made it into the notes for the 5.3.x/6.0.x release tickets. /cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69].", "created": "2019-01-08T16:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks for the reminder, I'll keep my eye out for that.", "created": "2019-01-08T16:37:00.000000"}], "components": [], "created": "2018-12-10T09:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@71a11327"}, {"fieldName": "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-9347"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl233:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2922_*|*_10007_*:*_1_*:*_1031371355_*|*_3_*:*_1_*:*_331059896_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_630967016"}], "description": "(Initial planned release date: 2018-12-18)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update [Winston|https://github.com/puppetlabs/winston] and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-12-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "estimate": "PT0S", "externalId": "16535", "fixedVersions": [], "id": "16535", "issueType": "Task", "key": "SERVER-2397", "labels": [], "originalEstimate": "PT0S", "parent": "27435", "parentSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2019-01-02T10:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.1.0)", "timeSpent": "PT0S", "updated": "2019-01-08T16:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Our sole remaining blocker was\u00a0SERVER-2401 which was a regression caused when we fixed SERVER-2392, which was needed to continute support for HA after we completed\u00a0SERVER-2354.\n\nIt passed CI for HA on Friday night and no new regressions were found in our pipelines.\n\nWe will begin the release pipeline that will tag, build the tagged package, and stage it for release.", "created": "2018-12-17T10:42:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Tagged and staged", "created": "2018-12-17T11:40:00.000000"}], "components": [], "created": "2018-12-10T09:13:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@234be454"}, {"fieldName": "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-9347"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl22v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2650_*|*_3_*:*_1_*:*_3497784_*|*_5_*:*_1_*:*_356507939_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_610097234"}], "description": "(Initial planned release date: 2018-12-18)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\n", "duedate": "2018-12-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "estimate": "PT0S", "externalId": "15944", "fixedVersions": [], "id": "15944", "issueType": "Task", "key": "SERVER-2396", "labels": [], "originalEstimate": "PT0S", "parent": "27435", "parentSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-12-17T11:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.1.0)", "timeSpent": "PT0S", "updated": "2018-12-21T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I checked the github compare of 2.6.x, 2.x, 5.1.x, 5.3.x, and 6.0.x to master. 5.1.x has some docs changes that were never merged up. I've opened a PR to merge them into 5.3.x.\n\nI've created a 6.1.0-release branch and opened ci-job-configs PR to create a pipeline for it that promotes into kearney/nightlies and disabled master from doing those same promotions.\n\nI'm going to merge the missing docs changes into 5.3.x, then to 6.0.x and then open a PR against 6.1.0-release with the docs changes plus updating our rake task to pull latest updated agents from their release branch.\n\nSean says that branch will most likely be cut tomorrow morning afterwards we can merge that PR and then merge 6.1.0-release into master, that merge into 6.1.0-release should trigger a build that will be our release candidate and eventually promote it into PE, which will complete this ticket.", "created": "2018-12-12T16:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We cut the branch before the agent pipeline was stood up (it was running behind) and promoted into PE Friday afternoon.", "created": "2018-12-17T10:36:00.000000"}], "components": [], "created": "2018-12-10T09:13:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a6aa2f6"}, {"fieldName": "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-9347"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl22n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2956_*|*_3_*:*_1_*:*_409082302_*|*_5_*:*_1_*:*_360342210_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_200691270"}], "description": "(Initial planned release date: 2018-12-18)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-12-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "estimate": "PT0S", "externalId": "15715", "fixedVersions": [], "id": "15715", "issueType": "Task", "key": "SERVER-2395", "labels": [], "originalEstimate": "PT0S", "parent": "27435", "parentSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-12-17T10:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.1.0)", "timeSpent": "PT0S", "updated": "2018-12-21T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "With master as of:\n{code}\n15:01:52 puppetserver justin (master $%<>) \u2016 git rev-parse HEAD\nca4c01d42daf2a3911f073c541cae811321f247d\n{code}\nTicketmatch output:\n{code}\n15:01:10 sellout:puppetserver justin (master $%<>) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 6.0.2\nEnter Git To Rev: |master|\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER master| SERVER 6.1.0\n....\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.1.0)\nCPR-591\nCPR-650\nDOC-3180\nDOC-3822\nDOC-3825\nDOCUMENT-936\nDOCUMENT-951\nRE-11577\nSERVER-2315\nSERVER-2374\nTK-473\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n----- Unresolved Jira tickets found in git commits -----\nALL ISSUES WERE RESOLVED IN JIRA\n{code}", "created": "2018-12-12T16:04:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The SERVER tickets were test fixes that are targeted at 6.0.z or 6.y.\n\nThe remaining tickets are from supporting projects that don't necessary correspond to Server releases (ie the docs are built from source, the tk change went out in tk-jetty9 2.3.1 and will go out in all actively maintained components and their versions.\n\n\u00a0\n\nI've updated most of the tickets to include SERVER 6.1.0, though that only removes the SERVER tickets, the additional projects still are reported by ticketmatch despite me adding versions...", "created": "2018-12-12T16:15:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We updated the version in confluence last week when we were assigning roles for this release. Confirmed that everything is correct.", "created": "2018-12-12T16:16:00.000000"}], "components": [], "created": "2018-12-10T09:13:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@232bbab7"}, {"fieldName": "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-9347"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl22f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2733_*|*_5_*:*_1_*:*_771934756_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_198184636"}], "description": "(Initial planned release date: 2018-12-18)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-12-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "estimate": "PT0S", "externalId": "15480", "fixedVersions": [], "id": "15480", "issueType": "Task", "key": "SERVER-2394", "labels": [], "originalEstimate": "PT0S", "parent": "27435", "parentSummary": "Puppet Platform 6.1.0 Release - 2018-12-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-12-12T16:16:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.1.0)", "timeSpent": "PT0S", "updated": "2018-12-21T14:42:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This went through and failed CI. This \"feature\" works however it created a regression in a different feature. I'm going to close this completed as I've opened\u00a0SERVER-2401 for the regression itself.", "created": "2018-12-13T16:10:00.000000"}], "components": [], "created": "2018-12-04T10:36:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* CA CLI contacts the right server when {{server_list}} is in use"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c1f3023"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl227:"}, {"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": "The `puppetserver ca` tool will now respect the `server_list` setting in puppet.conf for those users that have created their own high availability configuration using that feature."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_177482138_*|*_1_*:*_1_*:*_14319_*|*_3_*:*_1_*:*_423741160_*|*_5_*:*_1_*:*_486656083_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_196440811"}], "description": "Currently the CA CLI gem will only check the {{server}} setting for the name of the CA server. In an HA configuration, {{server_list}} is configured instead of {{server}}, so the gem does not connect to the right master (it attempts to contact the default \"puppet\"). When making requests, the gem should instead prefer {{server_list}} if it is set, and {{server}} otherwise, just like Puppet does.\n\nBecause the CA is always on the primary master, and the primary master is always first in the list (during failover and promotion the order is updated to reflect the new primary), it should be safe for us to just check the first element, and not do any fallback checking.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17449", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.1.0"], "id": "17449", "issueType": "Bug", "key": "SERVER-2392", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-12-13T16:10:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA CLI does not respect server_list", "timeSpent": "PT0S", "updated": "2018-12-19T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think the intention there was to honor an Accepts header of one of json, pson, or plain are specified, defaulting to if unspecified (and preferring if multiple are) JSON.", "created": "2018-12-03T10:07:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I'd expect {{Content-Type: text/plain}} in this case since the response body is text. Is this a case where we're setting the content-type header, but Jetty is generating the response body message?", "created": "2018-12-03T11:16:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Not 100% sure, we tell the framework we use the allowed [media types|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L136], and the [logic|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L221-L225] to determine if the resource exists, and expect it to do the right thing. Need to see if we're overriding that somewhere or if there's a bug in that framework (iirc, there were some other issues around content negotiation when we upgraded to a version compatible with jdk-9).", "created": "2018-12-03T11:39:00.000000"}, {"author": "5eb01b1f021ae30ba81b49e3", "body": "Do we have any work-around or hotfix for this issue. I do have the same issue and have to provide an solution for this.\u00a0", "created": "2020-09-04T09:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is a [bug|https://github.com/clojure-liberator/liberator/issues/300] in the library we use. The library author suggests a workaround that we could implement, but has not prioritized implementing a fix. I don't know where this sits on our priorities to fix - so may be some time.\n\nThe workaround would be handle the case client side when a 404 says it's json but returns plain text, as it will always do so for the \"certificate_status\" and \"certificate_statuses\" endpoints (the ones we use that library for). Specifically how would depend on the client.", "created": "2020-09-04T11:21:00.000000"}], "components": ["API", "Certificate Authority"], "created": "2018-12-03T05:45:00.000000", "creator": "623c12399b54ec0068b143b3", "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 content-type in API error resonses must match the acctual type of the content."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@100a00b0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzrglz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Dec/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25784812586_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_75944829651"}], "description": "I noticed the following error when parsing responses from Puppet CA API.\n When the certificate-status endpoint for a non-existing certificate is accessed:\n\n{{GET /puppet-ca/v1/certificate_status/puppet-test-client.example.net?environment=production}}\n\nThe the response {{Content-Type}} is {{application/json;charset=utf-8}}, but the response is not in JSON format:\n\n{code}\n.HTTP/1.1 404 Not Found\nDate: Mon, 03 Dec 2018 12:02:07 GMT\nContent-Type: application/json;charset=utf-8\nVary: Accept\nX-Puppet-Version: 6.0.4\nContent-Length: 19\nServer: Jetty(9.4.z-SNAPSHOT)\n\nResource not found.\n{code}\n\nThe Content-Type must be text or the body should be in JSON format.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15943", "fixedVersions": [], "id": "15943", "issueType": "Bug", "key": "SERVER-2391", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c12399b54ec0068b143b3", "resolution": "Won't Fix", "resolutionDate": "2022-02-22T15:59:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet CA API returns wrong content type on 404", "timeSpent": "PT0S", "updated": "2022-02-22T15:59:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have already made this update, see https://github.com/puppetlabs/puppetserver/commit/6f01592bed7f0bd8cb679fddf04754313dd47be5 and the associated SERVER-2381. We currently are having issues upgrading to the latest point release of the 9.2 stream, but I think even 9.2.0 is enough to get the Ruby 2.5 support.\n\n[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] are there plans to update the [JRuby 9k version|https://github.com/puppetlabs/puppetserver/blob/5.3.x/project.clj#L3] we use in 5.x as well?", "created": "2018-11-29T15:58:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah, it should be in the next release of Puppet Server 6 (6.1). I'd defer to support for the 5.x as it would automatically go into PE LTS, consequently I'd wait until it has shipped in 6.1 to see if anything super weird falls out (nothing's happened in our testing).", "created": "2018-11-29T17:07:00.000000"}], "components": ["Puppet Server"], "created": "2018-11-29T15:54:00.000000", "creator": "557058:c6e00d75-91d2-45e1-9aaa-3b73d3418ffe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f787d55"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1iv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5721315_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_8897491843"}], "description": "*Puppet Version: 5 or 6*\n *Puppet Server Version: 5.x or 6.x*\n *OS Name/Version: N/A*\n\n*Desired Behavior:*\n\nLatest Puppet Server 5.x or 6.x release uses JRuby 9.2, which is Ruby 2.5.\u00a0 This also matches the Ruby that ships with Puppet and will be a supported version for quite a while.\n\n*Current Behavior:*\n\nPuppet Server 5.x or 6.x uses JRuby 9.1, which is Ruby 2.3.\u00a0 Ruby 2.3 is EOL in March of 2019.\u00a0 \n\nI presume there are already plans for a minor point release around that time to bump the jruby version but opening this just in case\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17448", "fixedVersions": ["SERVER 6.y"], "id": "17448", "issueType": "New Feature", "key": "SERVER-2390", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c6e00d75-91d2-45e1-9aaa-3b73d3418ffe", "resolution": "Fixed", "resolutionDate": "2019-03-12T18:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Use JRuby 9.2 by March 2019", "timeSpent": "PT0S", "updated": "2019-03-12T18:01:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-11-28T15:10: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@459c525"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzreqn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_26182832201_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77141268244"}], "description": "We should check to see if cert we're revoking is the same as the cert we're connecting to to do the revoking and warn/maybe require an additional \"force\" kind of flag.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16534", "fixedVersions": [], "id": "16534", "issueType": "Improvement", "key": "SERVER-2389", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Warn when attempting the revoke CA w/ `puppetserver ca`", "timeSpent": "PT0S", "updated": "2022-03-08T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This might be needed in order to do the jline update for SERVER-2431.", "created": "2019-01-17T17:18:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Just tried this out with jruby-9.2.6.0 and it seems to work (my local {{lein test :all}} passed). Building a package to try acceptance tests against (here: builds.delivery.puppetlabs.net/puppetserver/6.3.2.SNAPSHOT.2019.03.12T1655). Note, locally trying the puppet benchmarks showed slower results than our current 9.2.0.0. Assuming the package passes acceptance I'll look into higher level performance tests.", "created": "2019-03-12T18:00:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Spent some time with the scale environment before shelving the last round of work.", "created": "2019-08-06T16:53:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've tried out 9.2.7.0 and its also shown a slower catalog performance in the Puppet benchmarks, but the integration tests w/ {{lein test :all}} seem comparable. I think we want to move forward with the version upgrade regardless and see how it performs once we've packaged it (may revert the commit if needed later).", "created": "2019-08-06T17:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This was merged into master. We need to get it promoted everywhere for more testing and then evaluate backporting.", "created": "2019-08-17T10:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'll file a separate ticket for the backport. Looks like 5.x is still on 9.1, do we want to upgrade it that far back, or just 6.x?", "created": "2019-08-19T16:37:00.000000"}], "components": [], "created": "2018-11-26T14:41: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@34fd5e5b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1kf:"}, {"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": "Puppet Server now runs with JRuby 9.2.8.0."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Jan/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_195145727_*|*_1_*:*_1_*:*_80797_*|*_10007_*:*_1_*:*_155083520_*|*_3_*:*_4_*:*_3361314174_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_163661_*|*_10006_*:*_3_*:*_19273879221_*|*_10005_*:*_1_*:*_15263"}], "description": "When upgrading to JRuby 9.2.4 our {{./dev-setup}} script no longer competes because of a failure to find libyaml. After running the dev-setup script with an older JRuby and attempting to run our tests with 9.2.4 we have many failures failing to load a JRuby container with Puppet (usually indicative of something causing Puppet to stacktrace).\n\nWhen running Puppet's benchmarks with JRuby 9.2.4 installed with {{ruby-install}} it fails to find the environment to run in and cannot run.\n\nThese issues affect JRuby 9.2.1 - 9.2.4.\n\nThere's a number of bizarre version conflicts as well when install 9.2.4. I've resolved them using all of the latest versions of libraries.\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16897", "fixedVersions": ["SERVER 6.6.0"], "id": "16897", "issueType": "Task", "key": "SERVER-2388", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2019-08-19T16:36:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update JRuby to latest version -- check performance", "timeSpent": "PT0S", "updated": "2019-09-12T11:51:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] didn't you come across this? Did you ever get to the bottom of it?", "created": "2018-11-21T16:07:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is a similar stacktrace that we saw when reloading development builds of Server. See SERVER-2421. If you have any info on that it'd be great to put it in that ticket.", "created": "2019-01-09T15:27:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I was firmly under them impression that we were explicit in only supporting Java 8 in Puppet Server 5 & 6. If not, that's a bug. We've had additional tickets to explore support for Java 9+ and work on issues that have arisen, I believe SERVER-2421 above is the only known issue for Java 11 in what will be 6.2.0 or 6.1.1 (whichever comes out first).", "created": "2019-01-09T15:31:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This should be addressed in the fix for SERVER-2423.", "created": "2019-09-08T20:54:00.000000"}], "components": ["Puppet Server"], "created": "2018-11-21T16:05:00.000000", "creator": "5bfc81a3a424561a8ea5de2d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@393c0c9e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzrbi7:"}, {"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": "See release notes on SERVER-2423."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_350608762_*|*_1_*:*_1_*:*_25457220974_*|*_5_*:*_1_*:*_0"}], "description": "*Puppet Version: 6.0.2*\n *Puppet Server Version: 6.0.2*\n *OS Name/Version: Ubuntu 18.04 (bionic)*\n\nThe default JRE on Ubuntu Bionic is\u00a0openjdk-11-jre, which is actually jdk10:\n{noformat}\nroot@p6:~# java --version\nopenjdk 10.0.2 2018-07-17\nOpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)\nOpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode){noformat}\nUsing this JRE version with\u00a0max-active-instances > 1 (either explicitly set or because you have more than 2 CPUs) makes puppetserver crash on startup wth:\n{noformat}\n 2018-11-21T22:05:59.225Z ERROR [clojure-agent-send-pool-0] [puppetserver] Puppet Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\n{noformat}\nyou can work around this either by setting\u00a0max-active-instances to 1 or by switching to JDK8.\u00a0\n\n*Desired Behavior:*\n\n\u00a0**\u00a0Per the docs, any JDK 1.7 or greater should work.\u00a0 Puppetserver should either be fixed or the docs should state compatible JDKs.\n\n*Actual Behavior:*\n{noformat}\nroot@p6:~# lsb_release -a\nNo LSB modules are available.\nDistributor ID:\tUbuntu\nDescription:\tUbuntu 18.04.1 LTS\nRelease:\t18.04\nCodename:\tbionic\n\nroot@p6:~# java --version\nopenjdk 10.0.2 2018-07-17\nOpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)\nOpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3, mixed mode)\nroot@p6:~# dpkg -l |grep default-jre\nii  default-jre                   2:1.10-63ubuntu1~02               amd64        Standard Java or Java compatible Runtime\nii  default-jre-headless          2:1.10-63ubuntu1~02               amd64        Standard Java or Java compatible Runtime (headless)\n\nroot@p6:~# dpkg -l |grep openjdk-11\nii  openjdk-11-jre:amd64          10.0.2+13-1ubuntu0.18.04.3        amd64        OpenJDK Java runtime, using Hotspot JIT\nii  openjdk-11-jre-headless:amd64 10.0.2+13-1ubuntu0.18.04.3        amd64        OpenJDK Java runtime, using Hotspot JIT (headless)\nroot@p6:~# dpkg -l |grep puppetserver\nii  puppetserver                  6.0.2-1bionic                     all          Puppet Labs puppetserver. Contains: Puppet Server (puppetlabs/puppetserver 6.0.2,org.clojure/clojure 1.9.0,org.clojure/clojurescript 1.10.238,puppetlabs/puppetserver 6.0.2,puppetlabs/trapperkeeper-webserver-jetty9 2.3.0)\nroot@p6:~# grep max-active-instances /etc/puppetlabs/puppetserver/conf.d/puppetserver.conf \n    max-active-instances: 2\n\nroot@p6:~# puppetserver foreground\n2018-11-21T23:03:22.064Z INFO  [main] [o.e.j.u.log] Logging initialized @25392ms to org.eclipse.jetty.util.log.Slf4jLog\n2018-11-21T23:03:22.321Z INFO  [main] [p.t.s.w.jetty9-core] Removing buggy security provider SunPKCS11 version 10\n2018-11-21T23:03:24.332Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2018-11-21T23:03:24.376Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'puppet-profiler', version 6.0.2\n2018-11-21T23:03:24.379Z INFO  [async-dispatch-2] [p.s.j.jruby-puppet-service] Initializing the JRuby service\n2018-11-21T23:03:24.397Z INFO  [async-dispatch-2] [p.s.j.jruby-pool-manager-service] Initializing the JRuby service\n2018-11-21T23:03:24.406Z INFO  [async-dispatch-2] [p.s.j.jruby-puppet-service] JRuby version info: jruby 9.1.16.0 (2.3.3) 2018-02-21 8f3f95a OpenJDK 64-Bit Server VM 10.0.2+13-Ubuntu-1ubuntu0.18.04.3 on 10.0.2+13-Ubuntu-1ubuntu0.18.04.3 +jit [linux-x86_64]\n2018-11-21T23:03:24.430Z INFO  [clojure-agent-send-pool-0] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.\n2018-11-21T23:03:24.449Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'jruby-metrics', version 6.0.2\nWARNING: An illegal reflective access operation has occurred\nWARNING: Illegal reflective access by org.jruby.ext.zlib.RubyZlib (file:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar) to field java.util.zip.CRC32.crc\nWARNING: Please consider reporting this to the maintainers of org.jruby.ext.zlib.RubyZlib\nWARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\nWARNING: All illegal access operations will be denied in a future release\n2018-11-21T23:03:31.694Z INFO  [clojure-agent-send-pool-0] [puppetserver] Puppet Puppet settings initialized; run mode: master\n2018-11-21T23:03:36.282Z INFO  [clojure-agent-send-pool-0] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 2\n2018-11-21T23:03:36.283Z INFO  [clojure-agent-send-pool-0] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 2.\n2018-11-21T23:03:36.286Z INFO  [async-dispatch-2] [p.s.c.puppet-server-config-core] Initializing webserver settings from core Puppet\n2018-11-21T23:03:36.319Z INFO  [async-dispatch-2] [p.p.certificate-authority] CA already initialized for SSL\n2018-11-21T23:03:36.322Z INFO  [async-dispatch-2] [p.s.c.certificate-authority-service] CA Service adding a ring handler\n2018-11-21T23:03:36.379Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'ca', version 6.0.2\n2018-11-21T23:03:36.383Z INFO  [async-dispatch-2] [p.s.p.puppet-admin-service] Starting Puppet Admin web app\n2018-11-21T23:03:36.422Z INFO  [async-dispatch-2] [p.s.v.versioned-code-service] No code-id-command set for versioned-code-service. Code-id will be nil.\n2018-11-21T23:03:36.424Z INFO  [async-dispatch-2] [p.s.v.versioned-code-service] No code-content-command set for versioned-code-service. Attempting to fetch code content will fail.\n2018-11-21T23:03:36.633Z INFO  [async-dispatch-2] [p.p.certificate-authority] Master already initialized for SSL\n2018-11-21T23:03:36.639Z INFO  [async-dispatch-2] [p.s.m.master-service] Master Service adding ring handlers\n2018-11-21T23:03:36.640Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'master', version 6.0.2\n2018-11-21T23:03:36.712Z WARN  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Empty contextPath\n2018-11-21T23:03:36.720Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2018-11-21T23:03:36.735Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-cert'\n2018-11-21T23:03:36.735Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-key'\n2018-11-21T23:03:36.736Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-ca-cert'\n2018-11-21T23:03:36.736Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] webserver config overridden for key 'ssl-crl-path'\n2018-11-21T23:03:36.953Z INFO  [async-dispatch-2] [p.t.s.w.jetty9-core] Starting web server.\n2018-11-21T23:03:36.956Z INFO  [async-dispatch-2] [o.e.j.s.Server] jetty-9.4.z-SNAPSHOT; built: 2018-06-05T18:24:03.829Z; git: d5fc0523cfa96bfebfbda19606cad384d772f04c; jvm 10.0.2+13-Ubuntu-1ubuntu0.18.04.3\n2018-11-21T23:03:37.046Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@235c4bc0{/puppet-ca,null,AVAILABLE}\n2018-11-21T23:03:37.048Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@7d1a78bf{/puppet-admin-api,null,AVAILABLE}\n2018-11-21T23:03:37.049Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@5591294a{/metrics,null,AVAILABLE}\n2018-11-21T23:03:37.067Z INFO  [async-dispatch-2] [o.e.j.s.session] DefaultSessionIdManager workerName=node0\n2018-11-21T23:03:37.067Z INFO  [async-dispatch-2] [o.e.j.s.session] No SessionScavenger set, using defaults\n2018-11-21T23:03:37.069Z INFO  [async-dispatch-2] [o.e.j.s.session] node0 Scavenging every 660000ms\n2018-11-21T23:03:37.114Z INFO  [async-dispatch-2] [p.t.s.m.jolokia] Using policy access restrictor classpath:/jolokia-access.xml\n2018-11-21T23:03:37.211Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.ServletContextHandler@78f39b3c{/metrics/v2,null,AVAILABLE}\n2018-11-21T23:03:37.213Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@5682cb1d{/puppet,null,AVAILABLE}\n2018-11-21T23:03:37.219Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@a0573fe{/,null,AVAILABLE}\n2018-11-21T23:03:37.270Z INFO  [async-dispatch-2] [o.e.j.u.s.SslContextFactory] x509=X509@52b084c9(private key,h=[puppet, puppetca, puppet-ca, puppet],w=[]) for InternalSslContextFactory@7921349c[provider=null,keyStore=null,trustStore=null]\n2018-11-21T23:03:37.401Z INFO  [async-dispatch-2] [o.e.j.s.AbstractConnector] Started ServerConnector@478a9f97{SSL,[ssl, http/1.1]}{0.0.0.0:8140}\n2018-11-21T23:03:37.401Z INFO  [async-dispatch-2] [o.e.j.s.Server] Started @40731ms\n2018-11-21T23:03:37.428Z INFO  [async-dispatch-2] [p.t.s.s.status-core] Starting background monitoring of cpu usage metrics\n2018-11-21T23:03:37.441Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'status-service', version 1.1.0\n2018-11-21T23:03:37.443Z INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\n2018-11-21T23:03:37.453Z INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@57a40b24{/status,null,AVAILABLE}\n2018-11-21T23:03:37.500Z INFO  [async-dispatch-2] [p.s.m.master-service] Puppet Server has successfully started and is now ready to handle requests\n2018-11-21T23:03:37.501Z INFO  [async-dispatch-2] [p.s.l.legacy-routes-service] The legacy routing service has successfully started and is now ready to handle requests\n2018-11-21T23:03:37.530Z INFO  [async-dispatch-2] [p.s.a.analytics-service] Puppet Server Update Service has successfully started and will run in the background\n2018-11-21T23:03:39.656Z INFO  [clojure-agent-send-pool-0] [puppetserver] Puppet Puppet settings initialized; run mode: master\n2018-11-21T23:03:40.006Z ERROR [clojure-agent-send-pool-0] [puppetserver] Puppet Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\norg/jruby/javasupport/JavaPackage.java:127:in `const_missing'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter.rb:12:in `value'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confine/variable.rb:21:in `facter_value'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confine/variable.rb:57:in `test_value'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confine/variable.rb:45:in `valid?'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confine_collection.rb:48:in `block in valid?'\norg/jruby/RubyEnumerable.java:624:in `detect'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confine_collection.rb:48:in `valid?'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/confiner.rb:44:in `suitable?'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1971:in `block in suitableprovider'\norg/jruby/RubyHash.java:1350:in `each'\norg/jruby/RubyEnumerable.java:788:in `find_all'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1970:in `suitableprovider'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1760:in `defaultprovider'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:1923:in `block in default'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:835:in `set_default'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type.rb:2394:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file.rb:490:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:478:in `to_ral'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:633:in `block in to_catalog'\norg/jruby/RubyArray.java:1735:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:625:in `to_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:515:in `to_ral'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:1005:in `use'\nuri:classloader:/puppetserver-lib/puppet/server/puppet_config.rb:45:in `initialize_puppet'\nuri:classloader:/puppetserver-lib/puppet/server/master.rb:29:in `initialize'\nNameError: Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\n2018-11-21T23:03:40.011Z ERROR [clojure-agent-send-pool-0] [p.t.internal] shutdown-on-error triggered because of exception!\njava.lang.IllegalStateException: There was a problem adding a JRubyInstance to the pool.\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481$fn__33485.invoke(jruby_agents.clj:75)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481.invoke(jruby_agents.clj:48)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33726$send_prime_pool_BANG___33731$fn__33732$fn__33733.invoke(jruby_agents.clj:233)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:389)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:374)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$eval16091$shutdown_service__16096$fn$reify__16098$service_fnk__5906__auto___positional$reify__16103.shutdown_on_error(internal.clj:429)\n\tat puppetlabs.trapperkeeper.internal$eval16021$fn__16033$G__16013__16041.invoke(internal.clj:397)\n\tat puppetlabs.trapperkeeper.internal$eval16021$fn__16033$G__16012__16050.invoke(internal.clj:397)\n\tat clojure.core$partial$fn__5561.invoke(core.clj:2617)\n\tat clojure.core$partial$fn__5561.invoke(core.clj:2616)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33451$send_agent__33456$fn__33457$agent_fn__33458.invoke(jruby_agents.clj:42)\n\tat clojure.core$binding_conveyor_fn$fn__5476.invoke(core.clj:2025)\n\tat clojure.lang.AFn.applyToHelper(AFn.java:154)\n\tat clojure.lang.RestFn.applyTo(RestFn.java:132)\n\tat clojure.lang.Agent$Action.doRun(Agent.java:114)\n\tat clojure.lang.Agent$Action.run(Agent.java:163)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:844)\nCaused by: org.jruby.embed.InvokeFailedException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\n\tat org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.call(EmbedRubyObjectAdapterImpl.java:320)\n\tat org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.callMethod(EmbedRubyObjectAdapterImpl.java:170)\n\tat org.jruby.embed.ScriptingContainer.callMethod(ScriptingContainer.java:1475)\n\tat com.puppetlabs.jruby_utils.jruby.InternalScriptingContainer.callMethodWithArgArray(InternalScriptingContainer.java:180)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:564)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.services.jruby.jruby_puppet_core$eval35004$get_initialize_pool_instance_fn__35009$fn__35010$fn__35011.invoke(jruby_puppet_core.clj:151)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval33050$create_pool_instance_BANG___33059$fn__33062.invoke(jruby_internal.clj:211)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval33050$create_pool_instance_BANG___33059.invoke(jruby_internal.clj:177)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481$fn__33485.invoke(jruby_agents.clj:65)\n\t... 20 common frames omitted\nCaused by: org.jruby.exceptions.RaiseException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\n2018-11-21T23:03:40.013Z INFO  [main] [p.t.internal] Beginning shutdown sequence\n2018-11-21T23:03:40.028Z INFO  [async-dispatch-3] [p.s.j.jruby-metrics-service] JRuby Metrics Service: stopping metrics sampler job\n2018-11-21T23:03:40.032Z INFO  [async-dispatch-3] [p.s.j.jruby-metrics-service] JRuby Metrics Service: stopped metrics sampler job\n2018-11-21T23:03:40.039Z INFO  [async-dispatch-3] [p.s.j.i.jruby-agents] Draining JRuby pool.\n2018-11-21T23:03:40.041Z ERROR [async-dispatch-3] [p.t.internal] Encountered error during shutdown sequence\njava.lang.InterruptedException: Lock can't be granted because a pill has been inserted\n\tat com.puppetlabs.jruby_utils.pool.JRubyPool.lockWithTimeout(JRubyPool.java:368)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:564)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33557$borrow_all_jrubies__33562$fn__33563$fn__33564.invoke(jruby_agents.clj:126)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33557$borrow_all_jrubies__33562$fn__33563.invoke(jruby_agents.clj:125)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33557$borrow_all_jrubies__33562.invoke(jruby_agents.clj:117)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33637$drain_and_refill_pool_BANG___33646$fn__33649.invoke(jruby_agents.clj:191)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33637$drain_and_refill_pool_BANG___33646.invoke(jruby_agents.clj:173)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33678$flush_pool_for_shutdown_BANG___33683$fn__33684.invoke(jruby_agents.clj:212)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33678$flush_pool_for_shutdown_BANG___33683.invoke(jruby_agents.clj:200)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval34587$flush_pool_for_shutdown_BANG___34592$fn__34593.invoke(jruby_core.clj:236)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval34587$flush_pool_for_shutdown_BANG___34592.invoke(jruby_core.clj:231)\n\tat puppetlabs.services.jruby.jruby_puppet_service$reify__35531$service_fnk__5906__auto___positional$reify__35545.stop(jruby_puppet_service.clj:52)\n\tat puppetlabs.trapperkeeper.services$eval5704$fn__5731$G__5696__5734.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.services$eval5704$fn__5731$G__5695__5738.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.internal$eval15624$run_lifecycle_fn_BANG___15631$fn__15632.invoke(internal.clj:198)\n\tat puppetlabs.trapperkeeper.internal$eval15624$run_lifecycle_fn_BANG___15631.invoke(internal.clj:181)\n\tat puppetlabs.trapperkeeper.internal$eval16148$shutdown_BANG___16153$fn__16154$shutdown_fn__16156$fn__16171.invoke(internal.clj:440)\n\tat puppetlabs.trapperkeeper.internal$eval16148$shutdown_BANG___16153$fn__16154$shutdown_fn__16156.invoke(internal.clj:439)\n\tat puppetlabs.trapperkeeper.internal$eval15698$initialize_lifecycle_worker__15709$fn__15710$fn__15860$state_machine__12806__auto____15885$fn__15888$fn__15902.invoke(internal.clj:276)\n\tat puppetlabs.trapperkeeper.internal$eval15698$initialize_lifecycle_worker__15709$fn__15710$fn__15860$state_machine__12806__auto____15885$fn__15888.invoke(internal.clj:260)\n\tat puppetlabs.trapperkeeper.internal$eval15698$initialize_lifecycle_worker__15709$fn__15710$fn__15860$state_machine__12806__auto____15885.invoke(internal.clj:251)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:973)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:972)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:977)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:975)\n\tat clojure.core.async$ioc_alts_BANG_$fn__13035.invoke(async.clj:383)\n\tat clojure.core.async$do_alts$fn__12967$fn__12970.invoke(async.clj:252)\n\tat clojure.core.async.impl.channels.ManyToManyChannel$fn__7535.invoke(channels.clj:135)\n\tat clojure.lang.AFn.run(AFn.java:22)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:844)\n2018-11-21T23:03:40.055Z INFO  [async-dispatch-3] [p.t.s.w.jetty9-service] Shutting down web server(s).\n2018-11-21T23:03:40.059Z INFO  [async-dispatch-3] [p.t.s.w.jetty9-core] Shutting down web server.\n2018-11-21T23:03:40.062Z INFO  [async-dispatch-3] [o.e.j.s.AbstractConnector] Stopped ServerConnector@478a9f97{SSL,[ssl, http/1.1]}{0.0.0.0:8140}\n2018-11-21T23:03:40.062Z INFO  [async-dispatch-3] [o.e.j.s.session] node0 Stopped scavenging\n2018-11-21T23:03:40.062Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@57a40b24{/status,null,UNAVAILABLE}\n2018-11-21T23:03:40.062Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@a0573fe{/,null,UNAVAILABLE}\n2018-11-21T23:03:40.063Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@5682cb1d{/puppet,null,UNAVAILABLE}\n2018-11-21T23:03:40.064Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.ServletContextHandler@78f39b3c{/metrics/v2,null,UNAVAILABLE}\n2018-11-21T23:03:40.065Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@5591294a{/metrics,null,UNAVAILABLE}\n2018-11-21T23:03:40.065Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@7d1a78bf{/puppet-admin-api,null,UNAVAILABLE}\n2018-11-21T23:03:40.065Z INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@235c4bc0{/puppet-ca,null,UNAVAILABLE}\n2018-11-21T23:03:40.070Z INFO  [async-dispatch-3] [p.t.s.w.jetty9-core] Web server shutdown\n2018-11-21T23:03:40.078Z INFO  [clojure-agent-send-off-pool-1] [p.t.s.w.filesystem-watch-core] Closing watcher puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core.WatcherImpl@5cc928ea\n2018-11-21T23:03:40.078Z INFO  [clojure-agent-send-off-pool-0] [p.t.s.w.filesystem-watch-core] Closing watcher puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core.WatcherImpl@5146ec72\n2018-11-21T23:03:40.084Z INFO  [main] [p.t.internal] Finished shutdown sequence\nException in thread \"main\" java.lang.IllegalStateException: There was a problem adding a JRubyInstance to the pool.\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481$fn__33485.invoke(jruby_agents.clj:75)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481.invoke(jruby_agents.clj:48)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33726$send_prime_pool_BANG___33731$fn__33732$fn__33733.invoke(jruby_agents.clj:233)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:389)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:374)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$eval16091$shutdown_service__16096$fn$reify__16098$service_fnk__5906__auto___positional$reify__16103.shutdown_on_error(internal.clj:429)\n\tat puppetlabs.trapperkeeper.internal$eval16021$fn__16033$G__16013__16041.invoke(internal.clj:397)\n\tat puppetlabs.trapperkeeper.internal$eval16021$fn__16033$G__16012__16050.invoke(internal.clj:397)\n\tat clojure.core$partial$fn__5561.invoke(core.clj:2617)\n\tat clojure.core$partial$fn__5561.invoke(core.clj:2616)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33451$send_agent__33456$fn__33457$agent_fn__33458.invoke(jruby_agents.clj:42)\n\tat clojure.core$binding_conveyor_fn$fn__5476.invoke(core.clj:2025)\n\tat clojure.lang.AFn.applyToHelper(AFn.java:154)\n\tat clojure.lang.RestFn.applyTo(RestFn.java:132)\n\tat clojure.lang.Agent$Action.doRun(Agent.java:114)\n\tat clojure.lang.Agent$Action.run(Agent.java:163)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:844)\nCaused by: org.jruby.embed.InvokeFailedException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\n\tat org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.call(EmbedRubyObjectAdapterImpl.java:320)\n\tat org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.callMethod(EmbedRubyObjectAdapterImpl.java:170)\n\tat org.jruby.embed.ScriptingContainer.callMethod(ScriptingContainer.java:1475)\n\tat com.puppetlabs.jruby_utils.jruby.InternalScriptingContainer.callMethodWithArgArray(InternalScriptingContainer.java:180)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:564)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.services.jruby.jruby_puppet_core$eval35004$get_initialize_pool_instance_fn__35009$fn__35010$fn__35011.invoke(jruby_puppet_core.clj:151)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval33050$create_pool_instance_BANG___33059$fn__33062.invoke(jruby_internal.clj:211)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval33050$create_pool_instance_BANG___33059.invoke(jruby_internal.clj:177)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval33476$prime_pool_BANG___33481$fn__33485.invoke(jruby_agents.clj:65)\n\t... 20 more\nCaused by: org.jruby.exceptions.RaiseException: (NameError) Could not create resources for managing Puppet's files and directories in sections [:main, :master, :ssl, :metrics]: cannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\ncannot link Java class com.puppetlabs.Facter (java.lang.UnsatisfiedLinkError: Native Library /opt/puppetlabs/puppet/lib/libfacter.so.3.12.0 already loaded in another classloader)\nroot@p6:~# \n\u00a0\n\n{noformat}\n\u00a0**\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16892", "fixedVersions": ["SERVER 6.6.0"], "id": "16892", "issueType": "Bug", "key": "SERVER-2387", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5bfc81a3a424561a8ea5de2d", "resolution": "Fixed", "resolutionDate": "2019-09-16T09:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver crashes on startup because it can't start multiple jruby instances on JRE 10", "timeSpent": "PT0S", "updated": "2019-09-16T09:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-11-21T14:46: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@5aec479a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrbgf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_43178_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2401402700_*|*_10005_*:*_1_*:*_101528937693"}], "description": "We want to rename the special extension used to grant access to the CA endpoints from the CA CLI to `pp_auth_ca_cli`, in order to establish a better naming convention. Once this change has been made, the code in the puppet_enterprise module that manages the auth.conf rules for those endpoints should be updated to use the new name.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14832", "fixedVersions": [], "id": "14832", "issueType": "Sub-task", "key": "SERVER-2386", "labels": [], "originalEstimate": "PT0S", "parent": "16531", "parentSummary": "Rename CLI auth extension to follow naming conventions", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:19:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update PE's managed auth.conf to reference new CLI auth extension name", "timeSpent": "PT0S", "updated": "2022-03-08T12:19:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-11-21T14:44: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@32f32031"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzrbg7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_171299_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2401403069_*|*_10005_*:*_1_*:*_101528961987"}], "description": "In order to better establish a naming convention for Puppet-specific auth extensions, we want to rename the new reserved extension for the CA CLI from `pp_cli_auth` to `pp_auth_ca_cli`. However, because we have already shipped stuff referring to the old name, when updating it we need to make sure that both names are supported.\n\nThis ticket is to add code for this backwards-compatible change, and to update the shipped default auth.conf file to use the new name. These are both changes to FOSS puppetserver.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17447", "fixedVersions": ["SERVER 6.0.z"], "id": "17447", "issueType": "Sub-task", "key": "SERVER-2385", "labels": [], "originalEstimate": "PT0S", "parent": "16531", "parentSummary": "Rename CLI auth extension to follow naming conventions", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:20:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA CLI OID referenced with both `pp_cli_auth` and `pp_auth_ca_cli`", "timeSpent": "PT0S", "updated": "2022-03-08T12:20:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "4) Will it work well on all of our supported master platforms?\nAccording to the quickstart guide, they currently only support Fedora and RHEL (including centos), but there are packages for Debian on the downloads page.", "created": "2018-11-26T09:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Update: I was working to get FreeIPA installed and running on a Platform 9 instance. Getting the hostnames and DNS configured correctly took some work, as I had to learn a lot in that area to understand the errors I was seeing. Got the install to complete, but haven't had a chance to test it with a client yet, or to check out how to get from a single node install to a master-replica setup. Another avenue to check out might be https://github.com/tiran/pki-vagans, but I haven't tried using that yet.", "created": "2018-11-29T11:51:00.000000"}], "components": [], "created": "2018-11-19T15:08: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@4ed75ab2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2nr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11353_*|*_3_*:*_1_*:*_256867718_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_7160912337_*|*_10005_*:*_1_*:*_96677568908"}], "description": "As one avenue to support HA for the Puppet CA, we should investigate integrating with/delegating to FreeIPA/dogtog, which supports multi-master replication out of the box.\n\nFreeIPA PKI: https://www.freeipa.org/page/PKI\nDogtag: https://www.dogtagpki.org/wiki/PKI_Main_Page\n\nSome questions to answer:\n1) How easy is it to set up an HA instance of FreeIPA? This is relevant whether we intend to vendor it in some fashion or expect customers to set it up.\n2) What does delegation of requests entail? How clean is the mapping between our CA API and FreeIPA's?\n3) Does FreeIPA's HA meet all of our HA criteria if configured correctly?\n4) Will it work well on all of our supported master platforms?\n5) Do we need all of FreeIPA or could we use dogtag standalone?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17177", "fixedVersions": [], "id": "17177", "issueType": "Task", "key": "SERVER-2384", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T10:31:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "SPIKE integrating puppetserver with FreeIPA", "timeSpent": "PT0S", "updated": "2022-03-08T10:31:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c0dad761efb0069ce0304", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Are you sure you installed the puppetserver package? Most operating systems \"puppet\" package only contains the agent and you must install a separate \"puppetserver\" package. You may want to try out our repositories at http://yum.puppet.com/ and http://apt.puppet.com/ if you're running an operating system that uses rpm or apt resp.", "created": "2018-11-13T09:14:00.000000"}, {"author": "623c0dad761efb0069ce0304", "body": "yes i used\u00a0\n|[puppetlabs-release-el-7.noarch.rpm|https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm]\u00a0file from\u00a0 [http://yum.puppet.com/]\u00a0to install puppet.|", "created": "2018-11-13T22:03:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "what does {{puppetserver --version}} return?\nwhat does {{rpm -qa | grep puppet}} return?", "created": "2018-11-14T10:32:00.000000"}, {"author": "623c0dad761efb0069ce0304", "body": "(UAT) root@devecpvm003943# rpm -qa | grep puppet\npuppetlabs-release-22.0-2.noarch\n\n\u00a0\n\n(UAT) root@devecpvm003943# puppetserver -version\n-bash: puppetserver: command not found\n(UAT) root@devecpvm003943# puppetserver -v\n-bash: puppetserver: command not found\n(UAT) root@devecpvm003943# puppet -v\n-bash: puppet: command not found\n(UAT) root@devecpvm003943#", "created": "2018-11-14T21:07:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That says you only have the \"puppetlabs-release\" package installed, it only contains the information from our repositories. Once you've installed it, as you've done, you can install our actual software from our repositories rather than from your distro. You should be able to run {{yum install}} puppetserver if you want to run puppet server, or {{yum install}} puppet if you want to run puppet.", "created": "2018-11-15T08:38:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "This seems to be user error and we haven't heard back from the user in years.", "created": "2022-02-09T11:45:00.000000"}], "components": ["Puppet Server"], "created": "2018-11-13T00:00:00.000000", "creator": "623c0dad761efb0069ce0304", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@17d6f70a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0uag"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33248258_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_102306606279"}], "description": "hi all,\n\n\u00a0\n\nI installed puppet server (3.7.2\u00a0 version) on linux( 3.10.0-693.11.6.el7.x86_64).\n\nAfter installation when i tried to start puppet master i am getting following error:\n\n\u00a0\n\n(UAT) root@devecpvm003943# systemctl start puppetserver\nFailed to start puppetserver.service: Unit not found.\n\n\u00a0\n\nCould you please help me what could be the issue?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15478", "fixedVersions": [], "id": "15478", "issueType": "Bug", "key": "SERVER-2383", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0dad761efb0069ce0304", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-09T11:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "cant start puppet master on linux server", "timeSpent": "PT0S", "updated": "2022-02-09T11:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The pupperware team is looking into this.", "created": "2019-09-27T17:10:00.000000"}, {"author": "61af86343618cd006f430854", "body": "SERVER-2945", "created": "2022-03-08T13:45:00.000000"}], "components": ["Puppet Server"], "created": "2018-11-05T09:51:00.000000", "creator": "60f9f67b33876e0068f19378", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2fbeb2fd"}, {"fieldName": "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": "SERVER-3171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzqyyn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_28189137624_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77146537637"}], "description": "*Puppet Version: n/a*\n *Puppet Server Version: 6.0.2*\n *OS Name/Version: Docker Container*\n\nThe default memory allocation is too low.\n\n*Desired Behavior:*\n\nDefault memory should be 1G or more to match the recommended memory allocation from the tuning guide. (https://puppet.com/docs/puppetserver/6.0/tuning_guide.html)\n\n*Actual Behavior:*\n\nRun the container.\n\ndocker run --name puppet --hostname puppet puppet/puppetserver-standalone:6.0.2\n\nThe default java allocation 512M. You can see it allocation below.\n\nroot@puppet:/# ps ax | grep java\n 88 ? S 0:00 runuser puppet -s /bin/bash -c /usr/bin/java -Xms512m -Xmx512m -Dlogappender=STDOUT -Djava.security.egd=/dev/urandom -cp /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar:/opt/puppetlabs/server/data/puppetserver/jars/* clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config /etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/ --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter\n\n89 ? Ssl 1:25 /usr/bin/java -Xms512m -Xmx512m -Dlogappender=STDOUT -Djava.security.egd=/dev/urandom -cp /opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar:/opt/puppetlabs/server/data/puppetserver/jars/* clojure.main -m puppetlabs.trapperkeeper.main --config /etc/puppetlabs/puppetserver/conf.d --bootstrap-config /etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/ --restart-file /opt/puppetlabs/server/data/puppetserver/restartcounter \n 294 pts/0 S+ 0:00 grep --color=auto java\n\n\u00a0\n\nThe documentation for the container should also mention the $PUPPETSERVER_JAVA_ARGS environment variable and how to use it set the memory allocation and increase the number of max-active-instances.\n\n\u00a0", "epicLinkSummary": "Puppet Server Docker Improvements", "estimate": "PT0S", "externalId": "15477", "fixedVersions": [], "id": "15477", "issueType": "Bug", "key": "SERVER-2382", "labels": ["docker", "low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "16299", "parentSummary": "Puppet Server Docker Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "60f9f67b33876e0068f19378", "resolution": "Duplicate", "resolutionDate": "2022-03-08T13:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Default memory settings in the Puppet Server Docker images are too low", "timeSpent": "PT0S", "updated": "2022-03-08T13:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I upgraded FOSS to 9.2.0.0 without issue (though not PE yet). They JRuby team released 9.2.1 and in quick succession released 9.2.2, 9.2.3, and 9.2.4. They've seemed to settle down the releases so I tried 9.2.4 and Puppetserver will not load, nor will Puppet run correctly when using the standalone (not hosted within Puppetserver) jruby.\n\nThese issues may be related and seem to happen starting in 9.2.1. I think it will probably take some time to figure out what exactly is happening and potentially wait for/work with the JRuby team on fixes.\n\n\u00a0\n\nIn the mean time I think this ticket should be for continuing the 9.2.0 upgrade through PE.", "created": "2018-11-26T14:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ran into some issues trying to do the upgrade to 9.2.0+, see SERVER-2388", "created": "2018-11-26T14:45:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] note that this needs to land before EOD on Wednesday in order to make the cut for Server 6.1.", "created": "2018-12-10T08:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Oh this is in. The updated scope was merged weeks ago. I'll update.", "created": "2018-12-10T09:32:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Thanks, [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], did SERVER-2388 get sorted as well, then?", "created": "2018-12-10T10:00:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "No. Like it says in the updated description, we are only shipping 9.2.0.0 for this release. That appears to be sufficient to get us experimental Java 11 support, which was the goal.", "created": "2018-12-10T10:04:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please add release notes for this issue if needed, thanks!", "created": "2018-12-12T14:04:00.000000"}], "components": [], "created": "2018-11-02T09:28: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@4e7fd93"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqy1z:"}, {"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": "Puppet Server 6.1.0 upgrades to a new version of JRuby, 9.2.0.0. This version implements the Ruby 2.5 interface (we previously shipping a JRuby that implemented the Ruby 2.3 interface). It is, in all of our testing, backwards compatible, but will issue warning for Ruby language features that have been deprecated[1]. Upgrading to this version of JRuby brings the Ruby interface inline with that of the Puppet Agent so both are running under the same interface version. This version of JRuby may also be slightly faster under some conditions than previous versions.\n\n1. The major warning that users will most likely see is \"warning: constant ::Fixnum is deprecated\"."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2611869_*|*_10007_*:*_1_*:*_1147960_*|*_3_*:*_1_*:*_2092401798_*|*_5_*:*_1_*:*_769742281_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_86425_*|*_10005_*:*_1_*:*_1190816936"}], "description": "This ticket was to originally upgrade JRuby to 9.2.1 however there were complications and we've created a new ticket to further investigate those complications. This ticket was repurposed to do the JRuby 9.2.0 upgrade instead.\n\n\u00a0\n\n----\n\nOriginal description:\n\n\u00a0\n\nJRuby 9.2.1.0 is being released soon. First we should upgrade to JRuby 9.2.0.0 and make sure everything is good with that. Then test the SNAPTSHOT of 9.2.1 and then upgrade to 9.2.1 when released.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17176", "fixedVersions": ["SERVER 6.1.0"], "id": "17176", "issueType": "Improvement", "key": "SERVER-2381", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-12-19T07:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade JRuby to 9.2.0.0", "timeSpent": "PT0S", "updated": "2018-12-19T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "PR for the optional exception raising: https://github.com/voxpupuli/puppet-vault_lookup/pull/12\n\nI've opened an issue associated with that PR: https://github.com/voxpupuli/puppet-vault_lookup/issues/13. Since we're still looking for feedback, I think this ticket can be closed without that PR being merged.", "created": "2018-11-28T17:25:00.000000"}, {"author": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "body": "This PR is also ready for merge: [https://github.com/voxpupuli/puppet-vault_lookup/pull/11]\n\n\u00a0", "created": "2018-11-29T14:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The PR for the improved error handling is still open, but I've filed a separate issue in the module's github project to track that.", "created": "2018-11-30T14:11:00.000000"}], "components": [], "created": "2018-11-01T17:25:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70113577"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2of:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_426747314_*|*_3_*:*_1_*:*_183679869_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1727191275_*|*_10005_*:*_1_*:*_159991978"}], "description": "This ticket is to just track some of the small tasks for the puppet-vault_lookup gem in the vox_pupuli repo.\u00a0\n * Allow for the user to specify insecure connections\u00a0\n * Get docker acceptance testing running in travis\n * Add ability to control exception flow from the lookup definition\n * [Add support for VAULT_ADDR, similar to the gem|https://github.com/voxpupuli/puppet-vault_lookup/issues/8]", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17175", "fixedVersions": [], "id": "17175", "issueType": "Improvement", "key": "SERVER-2380", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Done", "resolutionDate": "2018-11-30T14:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Hodgepodge of small tasks for puppet-vault_lookup", "timeSpent": "PT0S", "updated": "2018-11-30T14:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Haven't seen this in a while.", "created": "2019-09-25T17:54:00.000000"}], "components": [], "created": "2018-10-30T14:23:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8f160d9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzkhtb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_28524669272_*|*_6_*:*_1_*:*_0"}], "description": "Seen a new failure a couple times recently, that registers as a sort of aborted/incomplete with Jenkins. Both times have been on Debian 9. All tests pass, metrics collection post suite passes, and then this:\n{code}\n01:43:02 failure in XML output: \n01:43:02 malformed XML: missing tag start\n01:43:02 Line: 51437\n01:43:02 Position: 3248439\n01:43:02 Last 80 unconsumed characters:\n01:43:02 <b\\t\\v{fg\\xD6K\\xAD\\x15N\\xDE\\xAF\\f\\xF1\\x8Ax\\xEA\\xDA\\xA5)l\\xDB\\xF7%\\v\\xA5-5m\\v9\\xF2/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rexml/parsers/baseparser.rb:375:in `pull_event'\n01:43:02 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rexml/parsers/baseparser.rb:185:in `pull'\n01:43:02 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rexml/parsers/treeparser.rb:23:in `parse'\n01:43:02 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rexml/document.rb:288:in `build'\n01:43:02 /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/rexml/document.rb:45:in `initialize'\n01:43:02 /tmp/jenkins/workspace/platform_puppetserver_integration-system_no-conditional_full-6.0.x/LAYOUT/debian9-64ma-centos7-64a/LDAP_TYPE/default/label/beaker/vendor/bundler/ruby/2.4.0/gems/beaker-3.37.0/lib/beaker/logger_junit.rb:108:in `new'\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17416", "fixedVersions": [], "id": "17416", "issueType": "CI Blocker", "key": "SERVER-2379", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Cannot Reproduce", "resolutionDate": "2019-09-25T17:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Malformed XML in Puppetserver test report on Debian 9", "timeSpent": "PT0S", "updated": "2019-09-25T17:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "aggregatetimeestimate": "14400", "aggregatetimeoriginalestimate": "14400", "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-30T12:41:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1d494a64"}, {"fieldName": "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": "Future CA Improvements"}, {"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": "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|hzqvw7:"}], "description": "Tickets leftover from other CA work, that mainly represent stand-alone improvements, bug fixes, and feature requests.\n\nFor work contributing to CA HA, see PE-25445.\nFor work toward finalizing the separation of the CA from Ruby, see PUP-8918.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15942", "fixedVersions": [], "id": "15942", "issueType": "Epic", "key": "SERVER-2378", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Future CA Improvements", "timeSpent": "PT0S", "updated": "2022-08-24T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "ha, I digged more through the logfile, those are the initial exceptions I can find, afterwards follows what I posted in the initial issue description:\n{code}\n2018-10-27 00:00:03,536 INFO  [qtp349904914-783] [puppetserver] Puppet Compiled catalog for anawesomeserver.local in environment production in 63.72 seconds\n2018-10-27 00:00:03,599 INFO  [async-dispatch-3] [o.e.j.s.AbstractConnector] Stopped ServerConnector@2674d1f1{HTTP/1.1,[http/1.1]}{127.0.0.1:8139}\n2018-10-27 00:00:03,629 INFO  [qtp349904914-783] [puppetserver] Puppet Caching catalog for anawesomeserver.local\n2018-10-27 00:00:03,632 INFO  [async-dispatch-3] [o.e.j.s.AbstractConnector] Stopped ServerConnector@48c207fa{SSL,[ssl, http/1.1]}{127.0.0.1:8141}\n2018-10-27 00:00:03,632 INFO  [async-dispatch-3] [o.e.j.s.session] node0 Stopped scavenging\n2018-10-27 00:00:03,638 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@4606a3dd{/status,null,UNAVAILABLE}\n2018-10-27 00:00:03,729 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.ServletContextHandler@11005351{/metrics/v2,null,UNAVAILABLE}\n2018-10-27 00:00:03,730 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@4045af7e{/metrics,null,UNAVAILABLE}\n2018-10-27 00:00:03,731 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@23c8ad8f{/,null,UNAVAILABLE}\n2018-10-27 00:00:03,731 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@67d6c857{/puppet,null,UNAVAILABLE}\n2018-10-27 00:00:03,731 INFO  [async-dispatch-3] [o.e.j.s.h.ContextHandler] Stopped o.e.j.s.h.ContextHandler@16a9d19{/puppet-admin-api,null,UNAVAILABLE}\n2018-10-27 00:00:04,814 INFO  [qtp349904914-783] [puppetserver] Puppet 'replace_catalog' command for anawesomeserver.local submitted to PuppetDB with UUID 57b5543c-b39a-435d-a6c3-7bee34262a35\n2018-10-27 00:00:05,206 ERROR [qtp349904914-684] [p.r.core] Internal Server Error: java.lang.IllegalStateException: Unable to borrow JRubyInstance from pool\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22333$borrow_from_pool_BANG__STAR___22338$fn__22339.invoke(jruby_internal.clj:277)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22333$borrow_from_pool_BANG__STAR___22338.invoke(jruby_internal.clj:264)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22380$borrow_from_pool_with_timeout__22385$fn__22386.invoke(jruby_internal.clj:312)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22380$borrow_from_pool_with_timeout__22385.invoke(jruby_internal.clj:301)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval23595$borrow_from_pool_with_timeout__23600$fn__23601.invoke(jruby_core.clj:212)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval23595$borrow_from_pool_with_timeout__23600.invoke(jruby_core.clj:199)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__24683.invoke(jruby_request.clj:46)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__24679.invoke(jruby_request.clj:33)\n\tat puppetlabs.services.request_handler.request_handler_service$reify__24780$service_fnk__5266__auto___positional$reify__24795.handle_request(request_handler_service.clj:47)\n\tat puppetlabs.services.protocols.request_handler$eval15873$fn__15874$G__15865__15877.invoke(request_handler.clj:3)\n\tat puppetlabs.services.protocols.request_handler$eval15873$fn__15874$G__15864__15881.invoke(request_handler.clj:3)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2515)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$eval40055$wrap_authorization_check__40064$fn__40067$fn__40068.invoke(ring_middleware.clj:284)\n\tat puppetlabs.ring_middleware.core$eval21163$wrap_bad_request__21172$fn__21175$fn__21181.invoke(core.clj:170)\n\tat puppetlabs.ring_middleware.core$eval21261$wrap_uncaught_errors__21270$fn__21273$fn__21278.invoke(core.clj:216)\n\tat puppetlabs.ring_middleware.core$eval20888$wrap_request_logging__20893$fn__20894$fn__20896.invoke(core.clj:47)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$eval20917$wrap_response_logging__20922$fn__20923$fn__20924.invoke(core.clj:53)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__33541.invoke(ringutils.clj:83)\n\tat puppetlabs.services.master.master_core$eval34520$v3_ruby_routes__34525$fn__34526$fn__34533.invoke(master_core.clj:727)\n\tat bidi.ring$eval26407$fn__26408.invoke(ring.cljc:25)\n\tat bidi.ring$eval26386$fn__26387$G__26377__26396.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__28517.invoke(comidi.clj:245)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709$fn__33710$fn__33711.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709$fn__33710.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709.invoke(http.clj:148)\n\tat puppetlabs.comidi$eval28578$wrap_with_route_metadata__28583$fn__28584$fn__28586.invoke(comidi.clj:332)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__31484.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$eval31060$normalize_uri_handler__31065$fn__31066$fn__31067.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:531)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: org.jruby.embed.EvalFailedException: (LoadError) no such file to load -- puppet/confiner\n\tat org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:131)\n\tat org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1307)\n\tat org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1300)\n\tat sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.services.jruby.jruby_puppet_core$eval24079$get_initialize_pool_instance_fn__24084$fn__24085$fn__24086.invoke(jruby_puppet_core.clj:138)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22133$create_pool_instance_BANG___22142$fn__22145.invoke(jruby_internal.clj:220)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22133$create_pool_instance_BANG___22142.invoke(jruby_internal.clj:186)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval22559$prime_pool_BANG___22564$fn__22568.invoke(jruby_agents.clj:65)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval22559$prime_pool_BANG___22564.invoke(jruby_agents.clj:48)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval22805$send_prime_pool_BANG___22810$fn__22811$fn__22812.invoke(jruby_agents.clj:233)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:389)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invokeStatic(internal.clj:374)\n\tat puppetlabs.trapperkeeper.internal$shutdown_on_error_STAR_.invoke(internal.clj:364)\n\tat puppetlabs.trapperkeeper.internal$eval14201$shutdown_service__14206$fn$reify__14208$service_fnk__5266__auto___positional$reify__14213.shutdown_on_error(internal.clj:429)\n\tat puppetlabs.trapperkeeper.internal$eval14131$fn__14143$G__14123__14151.invoke(internal.clj:397)\n\tat puppetlabs.trapperkeeper.internal$eval14131$fn__14143$G__14122__14160.invoke(internal.clj:397)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2516)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2515)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_agents$eval22534$send_agent__22539$fn__22540$agent_fn__22541.invoke(jruby_agents.clj:42)\n\tat clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1941)\n\tat clojure.lang.AFn.applyToHelper(AFn.java:154)\n\tat clojure.lang.RestFn.applyTo(RestFn.java:132)\n\tat clojure.lang.Agent$Action.doRun(Agent.java:114)\n\tat clojure.lang.Agent$Action.run(Agent.java:163)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\t... 1 more\nCaused by: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- puppet/confiner\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_handler.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_handler.rb:3)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_support.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/format_support.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tag_set.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tag_set.rb:2)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tagging.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat RUBY.(root)(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tagging.rb:1)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat RUBY.(root)(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:1)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat RUBY.(root)(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:2)\n\tat RUBY.<main>(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:1)\n\tat org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:956)\n\tat RUBY.(root)(/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:704)\n\tat RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)\n{code}", "created": "2018-10-27T06:35:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "I had a discussion on IRC with [~accountid:557058:054fa98a-5e29-48e7-aeca-d5542926f8ba] and we thought that this might be related to https://puppet.atlassian.net/browse/PUP-9268. I downgraded the agent from 5.5.7 to 5.5.6 on the puppetserver to see if I can still reproduce the error. Also another config file that might be related:\n\n{code}\n# grep -v '#\\|^$' /etc/sysconfig/puppetserver \nJAVA_BIN=/usr/bin/java\nJAVA_ARGS=\"-Xms32G -Xmx64G -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\nTK_ARGS=\"\"\nUSER=\"puppet\"\nGROUP=\"puppet\"\nINSTALL_DIR=\"/opt/puppetlabs/server/apps/puppetserver\"\nCONFIG=\"/etc/puppetlabs/puppetserver/conf.d\"\nBOOTSTRAP_CONFIG=\"/etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/\"\nSERVICE_STOP_RETRIES=60\nSTART_TIMEOUT=300\nRELOAD_TIMEOUT=120\nJRUBY_JAR=\"/opt/puppetlabs/server/apps/puppetserver/jruby-9k.jar\"\n{code}", "created": "2018-10-27T07:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Let me know if downgrading fixes this for you. It will help narrow the scope of the investigation. From what we can tell, this is not related to PUP-9268.\n\nWhat modules do you have installed?", "created": "2018-10-29T09:47:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This has been inactive for quite some time. Please reopen if this is still an issue for you.", "created": "2019-09-27T17:05:00.000000"}], "components": ["Puppet Server"], "created": "2018-10-27T06:31: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@66227405"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqtt3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_28982090234_*|*_6_*:*_1_*:*_0"}], "description": "Hi people, I see the following in my /var/log/puppetlabs/puppetserver/puppetserver.log:\n{code}\n2018-10-27 00:00:18,854 ERROR [qtp349904914-573] [p.r.core] Internal Server Error: java.lang.InterruptedException\n\tat java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)\n\tat java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2088)\n\tat com.puppetlabs.jruby_utils.pool.JRubyPool.borrowItemWithTimeout(JRubyPool.java:194)\n\tat sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval21970$borrow_with_timeout_fn__21975$fn__21976.invoke(jruby_internal.clj:133)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval21970$borrow_with_timeout_fn__21975.invoke(jruby_internal.clj:130)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2515)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22333$borrow_from_pool_BANG__STAR___22338$fn__22339.invoke(jruby_internal.clj:271)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22333$borrow_from_pool_BANG__STAR___22338.invoke(jruby_internal.clj:264)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22380$borrow_from_pool_with_timeout__22385$fn__22386.invoke(jruby_internal.clj:312)\n\tat puppetlabs.services.jruby_pool_manager.impl.jruby_internal$eval22380$borrow_from_pool_with_timeout__22385.invoke(jruby_internal.clj:301)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval23595$borrow_from_pool_with_timeout__23600$fn__23601.invoke(jruby_core.clj:212)\n\tat puppetlabs.services.jruby_pool_manager.jruby_core$eval23595$borrow_from_pool_with_timeout__23600.invoke(jruby_core.clj:199)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__24683.invoke(jruby_request.clj:46)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__24679.invoke(jruby_request.clj:33)\n\tat puppetlabs.services.request_handler.request_handler_service$reify__24780$service_fnk__5266__auto___positional$reify__24795.handle_request(request_handler_service.clj:47)\n\tat puppetlabs.services.protocols.request_handler$eval15873$fn__15874$G__15865__15877.invoke(request_handler.clj:3)\n\tat puppetlabs.services.protocols.request_handler$eval15873$fn__15874$G__15864__15881.invoke(request_handler.clj:3)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2515)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$eval40055$wrap_authorization_check__40064$fn__40067$fn__40068.invoke(ring_middleware.clj:284)\n\tat puppetlabs.ring_middleware.core$eval21163$wrap_bad_request__21172$fn__21175$fn__21181.invoke(core.clj:170)\n\tat puppetlabs.ring_middleware.core$eval21261$wrap_uncaught_errors__21270$fn__21273$fn__21278.invoke(core.clj:216)\n\tat puppetlabs.ring_middleware.core$eval20888$wrap_request_logging__20893$fn__20894$fn__20896.invoke(core.clj:47)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$eval20917$wrap_response_logging__20922$fn__20923$fn__20924.invoke(core.clj:53)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__33541.invoke(ringutils.clj:83)\n\tat puppetlabs.services.master.master_core$eval34520$v3_ruby_routes__34525$fn__34526$fn__34533.invoke(master_core.clj:727)\n\tat bidi.ring$eval26407$fn__26408.invoke(ring.cljc:25)\n\tat bidi.ring$eval26386$fn__26387$G__26377__26396.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__28517.invoke(comidi.clj:245)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709$fn__33710$fn__33711.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709$fn__33710.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval33698$wrap_with_request_metrics__33703$fn__33707$fn__33709.invoke(http.clj:148)\n\tat puppetlabs.comidi$eval28578$wrap_with_route_metadata__28583$fn__28584$fn__28586.invoke(comidi.clj:332)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__31484.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$eval31060$normalize_uri_handler__31065$fn__31066$fn__31067.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:205)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat com.puppetlabs.trapperkeeper.services.webserver.jetty9.utils.MDCRequestLogHandler.handle(MDCRequestLogHandler.java:36)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:531)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)\n\tat org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)\n\tat java.lang.Thread.run(Thread.java:748)\n\n2018-10-27 00:00:19,078 ERROR [async-dispatch-3] [p.t.s.w.jetty9-core] Web server failed to shut down gracefully in configured timeout period (30,000); cancelling remaining requests.\njava.util.concurrent.TimeoutException: null\n\tat org.eclipse.jetty.util.FutureCallback.get(FutureCallback.java:128)\n\tat org.eclipse.jetty.util.FutureCallback.get(FutureCallback.java:30)\n\tat org.eclipse.jetty.server.Server.doStop(Server.java:460)\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:313)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval31678$shutdown__31683$fn__31687$fn__31689.invoke(jetty9_core.clj:606)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval31678$shutdown__31683$fn__31687.invoke(jetty9_core.clj:605)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval31678$shutdown__31683.invoke(jetty9_core.clj:597)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_service$reify__32591$service_fnk__5266__auto___positional$reify__32598.stop(jetty9_service.clj:71)\n\tat puppetlabs.trapperkeeper.services$eval5068$fn__5095$G__5060__5098.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.services$eval5068$fn__5095$G__5059__5102.invoke(services.clj:9)\n\tat puppetlabs.trapperkeeper.internal$eval13835$run_lifecycle_fn_BANG___13842$fn__13843.invoke(internal.clj:198)\n\tat puppetlabs.trapperkeeper.internal$eval13835$run_lifecycle_fn_BANG___13842.invoke(internal.clj:181)\n\tat puppetlabs.trapperkeeper.internal$eval14258$shutdown_BANG___14263$fn__14264$shutdown_fn__14266$fn__14277.invoke(internal.clj:440)\n\tat puppetlabs.trapperkeeper.internal$eval14258$shutdown_BANG___14263$fn__14264$shutdown_fn__14266.invoke(internal.clj:439)\n\tat puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014$fn__14016$fn__14029.invoke(internal.clj:276)\n\tat puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014$fn__14016.invoke(internal.clj:260)\n\tat puppetlabs.trapperkeeper.internal$eval13905$initialize_lifecycle_worker__13916$fn__13917$fn__14013$state_machine__11875__auto____14014.invoke(internal.clj:251)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:1012)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:1011)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:1016)\n\tat clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:1014)\n\tat clojure.core.async$ioc_alts_BANG_$fn__12043.invoke(async.clj:383)\n\tat clojure.core.async$do_alts$fn__11989$fn__11992.invoke(async.clj:252)\n\tat clojure.core.async.impl.channels.ManyToManyChannel$fn__6813.invoke(channels.clj:135)\n\tat clojure.lang.AFn.run(AFn.java:22)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n2018-10-27 00:00:19,079 INFO  [async-dispatch-3] [p.t.s.w.jetty9-core] Web server shutdown\n2018-10-27 00:00:19,297 INFO  [clojure-agent-send-off-pool-0] [p.t.s.w.filesystem-watch-core] Closing watcher puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core.WatcherImpl@159ba7c7\n2018-10-27 00:00:19,618 INFO  [main] [p.t.internal] Finished shutdown sequence\n2018-10-27 00:00:29,909 WARN  [clojure-agent-send-pool-1] [puppetserver] Puppet Setting ca is deprecated. \n   (location: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:1169:in `issue_deprecation_warning')\n2018-10-27 00:00:30,012 INFO  [clojure-agent-send-pool-1] [puppetserver] Puppet Puppet settings initialized; run mode: master\n{code}\n\nMy puppetserver is configured to listen for http requests on localhost (I've an nginx in front to terminate TLS):\n{code}\n# /etc/puppetlabs/puppetserver/conf.d/webserver.conf\nwebserver: {\n    access-log-config: /etc/puppetlabs/puppetserver/request-logging.xml\n    client-auth: none\n    ssl-host: \"127.0.0.1\"\n    ssl-port: 8141\n    ssl-cert: \"/etc/puppetlabs/puppet/ssl/certs/puppet.local.pem\"\n    ssl-key: \"/etc/puppetlabs/puppet/ssl/private_keys/puppet.local.pem\"\n    ssl-ca-cert: \"/etc/puppetlabs/puppet/ssl/certs/ca.pem\"\n    idle-timeout-milliseconds: 30000\n    ssl-protocols: \"TLSv1.2\"\n    cipher-suites: [\n        \"TLS_RSA_WITH_AES_256_CBC_SHA256\",\n        \"TLS_RSA_WITH_AES_256_CBC_SHA\",\n        \"TLS_RSA_WITH_AES_128_CBC_SHA256\",\n        \"TLS_RSA_WITH_AES_128_CBC_SHA\"\n    ]\n    host: \"127.0.0.1\"\n    port: 8139\n    acceptor-threads: 4\n    selector-threads: 16\n    ssl-acceptor-threads: 4\n    ssl-selector-threads: 4\n    max-threads: 300\n}\n{code}\n\nAfter the exception the puppetserver isn't listening anymore on port 8139 nor 8141. My installed packages:\n{code}\nrpm -qa | grep puppet\npuppet-agent-oauth-0.5.1-3.el7.noarch\npuppetdb-termini-5.2.6-1.el7.noarch\npuppet-release-1.0.0-3.el7.noarch\npuppet-agent-5.5.7-1.el7.x86_64\npuppetserver-5.3.6-1.el7.noarch\n{code}\n\n{code}\ngrep -v '#\\|^$' /etc/puppetlabs/puppetserver/conf.d/puppetserver.conf\njruby-puppet: {\n    ruby-load-path: [\n        /opt/puppetlabs/puppet/lib/ruby/vendor_ruby,\n        /opt/puppetlabs/puppet/cache/lib,\n    ]\n    gem-home: /opt/puppetlabs/server/data/puppetserver/jruby-gems\n    gem-path: [${jruby-puppet.gem-home}, \"/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems\"]\n    master-conf-dir: /etc/puppetlabs/puppet\n    master-code-dir: /etc/puppetlabs/code\n    master-var-dir: /opt/puppetlabs/server/data/puppetserver\n    master-run-dir: /var/run/puppetlabs/puppetserver\n    master-log-dir: /var/log/puppetlabs/puppetserver\n    max-active-instances: 32\n    max-requests-per-instance: 2048\n    max-queued-requests: 0\n    max-retry-delay: 1800\n    use-legacy-auth-conf: false\n    environment-class-cache-enabled: true\n}\nhttp-client: {\n    ssl-protocols: [\n        TLSv1.2,\n    ]\n    cipher-suites: [\n        TLS_RSA_WITH_AES_256_CBC_SHA256,\n        TLS_RSA_WITH_AES_256_CBC_SHA,\n        TLS_RSA_WITH_AES_128_CBC_SHA256,\n        TLS_RSA_WITH_AES_128_CBC_SHA,\n    ]\n    metrics-enabled: true\n    idle-timeout-milliseconds: 1200000\n    connect-timeout-milliseconds: 120000\n}\nprofiler: {\n    enabled: true\n}\n\n{code}\n\n\nI can restart the service and it works for a few hours. I noticed this behavior 4 times today. I am not sure if it is triggered by a certain action or just be the amount of load hitting the server. It seems to be overloaded at the moment but I assume it still should not fail with such an exception. Let me know if you need further information.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15474", "fixedVersions": [], "id": "15474", "issueType": "Task", "key": "SERVER-2375", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Cannot Reproduce", "resolutionDate": "2019-09-27T17:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver fails with Internal Server Error: java.lang.InterruptedException", "timeSpent": "PT0S", "updated": "2019-09-27T17:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've updated the agent install step as part of this, since our custom helper methods were no longer working for Windows installs. That step now calls stuff directly from beaker-puppet.\n\nI've left server installation as is, since we seem to have more custom code around choosing JRuby version, that isn't currently supported in beaker-puppet.", "created": "2018-11-09T14:49:00.000000"}], "components": [], "created": "2018-10-25T16:26:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* puppetserver smoke tests are run with beaker 4 and beaker-puppet 1"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43b12c48"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2g7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4919691_*|*_1_*:*_1_*:*_20010_*|*_10007_*:*_1_*:*_239652770_*|*_3_*:*_1_*:*_361569694_*|*_5_*:*_1_*:*_3184552153_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_932201600"}], "description": "We should update Puppet Server's acceptance tests to work with Beaker 4. Depending on what this looks like, it might also make sense to migrate some of our pre-suites to rely more heavily on beaker-puppet, instead of re-implementing similar steps in our own repo.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "17174", "fixedVersions": ["SERVER 5.3.7", "SERVER 6.0.3", "SERVER 6.1.0"], "id": "17174", "issueType": "Task", "key": "SERVER-2374", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-12-19T07:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Migrate puppetserver acceptance tests to Beaker 4/beaker-puppet 1", "timeSpent": "PT0S", "updated": "2019-01-08T10:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think this is probably a duplicate of SERVER-2345. Can you try installing version 1.1.2 of the puppetserver-ca gem using /opt/puppetlabs/puppet/bin/gem and then trying again?", "created": "2018-10-25T11:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "To make sure the gem gets installed in the shared gem dir and overwrites the old version, you should specify {{-i /opt/puppetlabs/puppet/lib/ruby/vendor_gems}} as part of that command, see https://puppet.com/docs/puppetserver/6.0/subcommands.html#available-actions.", "created": "2018-10-25T11:28:00.000000"}, {"author": "557058:cf9507a2-54bf-4dec-90af-b6ff0ddd3f65", "body": "On a test instance with 2019.0.0 installed, ran into this issue. Running the command that Maggie suggested as root fixed it.", "created": "2018-11-06T11:47:00.000000"}, {"author": "623c0d9e8d8b9c0068b8af74", "body": "I encountered this while running the puppetserver-standalone docker container (v6.1.0) from dockerhub, but I eventually got it to work.\n\nI had to exec in to the puppetserver and run\n\n{{/opt/puppetlabs/puppet/bin/gem install -i /opt/puppetlabs/puppet/lib/ruby/vendor_gems puppetserver-ca}}\n\nthen I had to thrash around a bit on the agent (a staging machine running puppet agent v5.5.1)\n\n{{rm -rf /etc/puppetlabs/puppet/ssl}}\n{{ rm -f /opt/puppetlabs/puppet/cache/client_data/catalog/<MY-AGENT-CERTNAME>.json}}\n{{ reboot # \u00a0because starting stopping the service didn't seem to be sufficient for some reason...}}\n\nIt felt strange to me that agents got certs signed fine in my test environment against a v4.10.12 agent (which was also running in docker container) but not on the staging machine.\n\n\u00a0\n\n\u00a0", "created": "2019-02-06T11:11:00.000000"}], "components": ["Puppet Server"], "created": "2018-10-25T10:07:00.000000", "creator": "70121:e940524a-f90d-4a13-a105-8d082115d7ea", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1ed4e06c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqs8v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1046407224_*|*_5_*:*_1_*:*_0"}], "description": "Hi,\n\n\u00a0\n\nI'm trying to add the Impact Analysis for CD4PE. In order to enable it I need to generate a certificate in PE. That's where I have my issue:\n\n\u00a0\n\n[root@master vagrant]# puppetserver ca generate --certname cd4pe-impact-analysis\nSuccessfully submitted certificate request for cd4pe-impact-analysis\nError:\n When attempting to sign certificate request 'cd4pe-impact-analysis', received\n code: 409\n body: Cannot sign certificate for host cd4pe-impact-analysis without a certificate request\n\nLet me know which log you need.\n\n\u00a0\n\nRegard,\n\nPierre\n\n\u00a0\n\n\u00a0", "environment": "[root@master vagrant]# puppet --version\n6.0.2\n\n[root@master vagrant]# uname -r\n3.10.0-327.el7.x86_64", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16887", "fixedVersions": [], "id": "16887", "issueType": "Improvement", "key": "SERVER-2372", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:e940524a-f90d-4a13-a105-8d082115d7ea", "resolution": "Fixed", "resolutionDate": "2018-11-06T11:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Cannot generate certificate with PE 2019", "timeSpent": "PT0S", "updated": "2019-02-06T11:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-24T11:46:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 simple Jenkins job that updates the MRI gem lists in puppetserver and pe-pse with a new CA CLI gem version"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7ff5919f"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4ry:c"}], "description": "Currently whenever we release a new version of the CA CLI gem, we have to manually update simple files in both puppetserver and pe-pse for any branches that need the update (5.3.x and beyond). This can involve up to 6 PRs currently. We should have a jenkins job that automatically updates both projects for a given stream. For the time being, this should probably be relatively unmagical: the job should accept a gem version, a FOSS branch, and a PE branch, and update https://github.com/puppetlabs/puppetserver/blob/master/resources/ext/build-scripts/mri-gem-list.txt and https://github.com/puppetlabs/pe-puppet-server-extensions/blob/johnson/resources/ext/build-scripts/mri-gem-list.txt with the new version. If we ultimately want to chain these units together to update multiple streams on a gem release (right now we are shipping the same version to all branches), we can do that, but the job shouldn't do it automatically.\n\n*Open Question:* should this work for an arbitrary gem?", "duedate": "2022-06-30T00:00:00.000000", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15941", "fixedVersions": [], "id": "15941", "issueType": "Task", "key": "SERVER-2371", "labels": ["low-hanging-fruit"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create promotion job for the puppetserver-ca-cli gem", "timeSpent": "PT0S", "updated": "2022-03-09T08:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:6d9f4174-bf47-424d-a46a-6940b2255f29", "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Moved to the SERVER project as the CA REST API is implemented in clojure.", "created": "2018-10-17T09:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is related to\u00a0SERVER-2342", "created": "2018-12-17T15:03:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Moving it into that epic.", "created": "2018-12-17T15:10:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "PR up: https://github.com/puppetlabs/puppetserver/pull/1967", "created": "2019-02-06T08:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Looks like [~accountid:557058:6d9f4174-bf47-424d-a46a-6940b2255f29] (let me know if that Jira handle doesn't correspond to the github user of the same name) just about has this. I've put this ticket into \"In Progress\" for our internal tracking.", "created": "2019-02-06T16:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] I know you helped with review on this, would you mind adding release notes?", "created": "2019-03-15T09:37:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Maybe also mention that the Puppet 5 and earlier CLI used to display these values. It no longer does so this is the only way to get these values (AFAIK).", "created": "2019-03-15T10:01:00.000000"}], "components": [], "created": "2018-10-17T07:46:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@a825038"}, {"fieldName": "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": "SERVER-2342"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqlbb:"}, {"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": "The CA's certificate_status endpoint now returns additional information for those doing custom scripting/integration with it.\n\nThe additional information is:\n* serial number\n* not_before (effectively a certificate's creation date)\n* not_after (expiration date)"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_337861580_*|*_1_*:*_1_*:*_5300639869_*|*_10007_*:*_1_*:*_77752070_*|*_3_*:*_1_*:*_691232699_*|*_5_*:*_1_*:*_3044926958_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_4409906833"}], "description": "In Puppet before version 6 puppet cert list would show serial/not_before/not_after. Within our tool we used to wrap the command line tools and used this information. We're now moving to the HTTP API (as we should have some time ago).\n\nCould these fields be added to the HTTP API?\n\nNote that Puppet 6 on the command also doens't list the fields.", "epicLinkSummary": "CA API Improvements", "estimate": "PT0S", "externalId": "17415", "fixedVersions": ["SERVER 6.3.0"], "id": "17415", "issueType": "Improvement", "key": "SERVER-2370", "labels": [], "originalEstimate": "PT0S", "parent": "15164", "parentSummary": "CA API Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Fixed", "resolutionDate": "2019-02-19T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet CA HTTP API does not include serial/not_before/not_after", "timeSpent": "PT0S", "updated": "2019-03-26T18:24:00.000000", "votes": "4", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] do you have any insight here? The question was raised: are we currently skirting this limit of 2 by having one HTTP client per JRuby? If so, multithreaded mode would put us down to just one client, and the limit could become problematic. But I'm not sure if that's how it works or not...", "created": "2020-01-22T15:02:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Good catch. Yes, we currently create a Sync client for each JRuby ([in JRuby here|https://github.com/puppetlabs/puppetserver/blob/master/src/ruby/puppetserver-lib/puppet/server/http_client.rb#L188-L195] we call [this java factory|https://github.com/puppetlabs/clj-http-client/blob/master/src/java/com/puppetlabs/http/client/Sync.java#L89]).\n\nIn this work ([PR|https://github.com/puppetlabs/clj-http-client/pull/78]) Jonathan also made these settings configurable. We might want to default them (either in server or puppet_enterprise) to be multiples of max-instances (workers).", "created": "2020-01-27T11:20:00.000000"}], "components": [], "created": "2018-10-15T21:55: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@2e26f272"}, {"fieldName": "CS Impact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "See ORCH-2256 for review"}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2823"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqjon:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jan/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1509156040_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_63492008527_*|*_10006_*:*_1_*:*_14060_*|*_10005_*:*_2_*:*_38558723294"}], "description": "All teams that use\u00a0clj-http-client should review the impact of the changes described in\u00a0PE-25106. The\u00a0clj-http-client previously defaulted to a maximum of 2 connection per route (host & port combination) and was not configurable. This led to many performance bottlenecks and is likely the root cause of many unsolved issues at large customers. Any code that uses this library should:\n * Define a default that is appropriate for the use case\n * Expose the values in config\n * Make appropriate changes to the {{puppet_enterprise}} module to allow customers to make changes", "epicLinkSummary": "Mutlithreaded Perfomance Evaluation", "estimate": "PT0S", "externalId": "15049", "fixedVersions": [], "id": "15049", "issueType": "Improvement", "key": "SERVER-2368", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": "16363", "parentSummary": "Mutlithreaded Perfomance Evaluation", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:afa80a20-2814-4f2f-bbdd-ad5db4190123", "resolution": "Won't Do", "resolutionDate": "2022-01-26T11:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Review impact of connection limits in clj-http-client", "timeSpent": "PT0S", "updated": "2022-01-26T11:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Let me know if you need anything else [~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1]!", "created": "2018-10-15T16:15:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0I've made a start on this here:\n\n[https://docs.google.com/document/d/1LSXmK3SKIF-Pw_mnFixs5FRscQhYtppY-ifPTTr8oMI/edit?usp=sharing]\n\nCould you please review and expand? Including best practices etc.\u00a0", "created": "2018-10-16T09:24:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Thanks\u00a0[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]\u00a0for drafting this! I have added it to the following google doc where we can continue to edit:\n\n\u00a0\n\n[https://docs.google.com/document/d/1jLEnaeMDraWRHzIrgpf_3irRE0QLrIua0htzXXtU76U/edit#|https://docs.google.com/document/d/1jLEnaeMDraWRHzIrgpf_3irRE0QLrIua0htzXXtU76U/edit]\n\n\u00a0\n\n\u00a0", "created": "2018-10-23T09:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Hey Claire, I see that the docs have been published, looks great! Can this ticket be resolved now?", "created": "2018-11-01T17:08:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "Yes all done! Thank you both [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] and [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]! Let me know if you notice any more issues or when things change, so we can keep these up-to-date moving forward.\u00a0", "created": "2018-11-02T03:18:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "New docs:\u00a0https://puppet.com/docs/puppet/6.0/ssl_certificates.html", "created": "2018-11-02T03:19:00.000000"}], "components": ["Puppet Server"], "created": "2018-10-15T16:14: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@566d9282"}, {"fieldName": "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": "DOCUMENT-925"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqjl3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_61945011_*|*_10007_*:*_1_*:*_749857736_*|*_3_*:*_1_*:*_696898523_*|*_5_*:*_1_*:*_0"}], "description": "We have thematic sections to our docs like \"cli tools\", \"ssl and certificates\", \"http apis\", \"puppet language\", as well as component sections like \"puppet server\", \"hiera\", and \"facter\".\n\nUntil recently our CA was a subsystem implemented, separately, in two different components and jointly were responsible for a large share of the http apis, a fifth of the cli tools, and most (but not quite all) of the ssl and certificates section.\n\nNow that we've removed one of our implementation and updated a lot of the content in the cli tools and ssl/certs sections it feels like we need a landing page that introduces those changes and gives a high level picture of the state of the art/best practices in Puppet 6.", "epicLinkSummary": "Overhaul Puppet Server CA docs", "estimate": "PT0S", "externalId": "16533", "fixedVersions": [], "id": "16533", "issueType": "Task", "key": "SERVER-2367", "labels": [], "originalEstimate": "PT0S", "parent": "54654", "parentSummary": "Overhaul Puppet Server CA docs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-11-02T03:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create CA intro/landing page", "timeSpent": "PT0S", "updated": "2018-11-02T03:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-10-12T11:18:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6740cb91"}, {"fieldName": "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-9226"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1x3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5364_*|*_5_*:*_1_*:*_361917100_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1124231665"}], "description": "(Initial planned release date: 2018-10-25)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-10-26T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "estimate": "PT0S", "externalId": "15713", "fixedVersions": [], "id": "15713", "issueType": "Task", "key": "SERVER-2366", "labels": [], "originalEstimate": "PT0S", "parent": "23322", "parentSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-25T11:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.0.2)", "timeSpent": "PT0S", "updated": "2018-10-29T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-10-12T11:18:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cc27f0f"}, {"fieldName": "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-9226"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1wv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3163_*|*_5_*:*_1_*:*_519232905_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_966945193"}], "description": "(Initial planned release date: 2018-10-25)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\n", "duedate": "2018-10-23T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "estimate": "PT0S", "externalId": "15048", "fixedVersions": [], "id": "15048", "issueType": "Task", "key": "SERVER-2365", "labels": [], "originalEstimate": "PT0S", "parent": "23322", "parentSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-29T16:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.0.2)", "timeSpent": "PT0S", "updated": "2018-10-29T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] can this be resolved now?", "created": "2018-10-24T12:59:00.000000"}], "components": [], "created": "2018-10-12T11:18:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@76011d97"}, {"fieldName": "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-9226"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1wn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4845_*|*_5_*:*_1_*:*_426656764_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1059530331"}], "description": "(Initial planned release date: 2018-10-25)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-10-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "estimate": "PT0S", "externalId": "14831", "fixedVersions": [], "id": "14831", "issueType": "Task", "key": "SERVER-2364", "labels": [], "originalEstimate": "PT0S", "parent": "23322", "parentSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-29T16:08:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.0.2)", "timeSpent": "PT0S", "updated": "2018-10-29T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Ticketmatch for 6.0.2 is weird because we had to cherry-pick some changes back to 5.3.x, and when they got merged up they're showing as being part of this release, even though they were already released in this stream as part of 6.0.0 and 6.0.1. I think all of the fix versions are as they should be now.", "created": "2018-10-23T11:04:00.000000"}], "components": [], "created": "2018-10-12T11:18:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@177c5c85"}, {"fieldName": "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-9226"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1wf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5659_*|*_5_*:*_1_*:*_519869493_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_966318448"}], "description": "(Initial planned release date: 2018-10-25)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-10-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "estimate": "PT0S", "externalId": "17414", "fixedVersions": [], "id": "17414", "issueType": "Task", "key": "SERVER-2363", "labels": [], "originalEstimate": "PT0S", "parent": "23322", "parentSummary": "Puppet Platform 6.0.3 Release - 2018-10-25\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-23T15:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.0.2)", "timeSpent": "PT0S", "updated": "2018-10-29T16:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-10-12T11:09:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@37a7077a"}, {"fieldName": "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-9219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1w7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4958_*|*_5_*:*_1_*:*_516516164_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_970074627"}], "description": "(Initial planned release date: 2018-10-23)\n\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-10-24T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "estimate": "PT0S", "externalId": "15940", "fixedVersions": [], "id": "15940", "issueType": "Task", "key": "SERVER-2362", "labels": [], "originalEstimate": "PT0S", "parent": "26436", "parentSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-29T16:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.6)", "timeSpent": "PT0S", "updated": "2018-10-29T16:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-10-12T11:08:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@68422c86"}, {"fieldName": "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-9219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1vz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2811_*|*_3_*:*_1_*:*_10465581_*|*_5_*:*_1_*:*_529854815_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_946278564"}], "description": "(Initial planned release date: 2018-10-23)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Run the release pipeline for the release or maintenance branch being released\n    from. This pipeline currently starts with\n    \"puppetserver (<branch>) Release 01: Tag & Deploy\" and will automatically\n    build, stage and promote into PE.\n* Verify tagged release version is built, tested and artifacts exist at\n    builds.delivery.puppetlabs.net.\n", "duedate": "2018-10-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "estimate": "PT0S", "externalId": "15473", "fixedVersions": [], "id": "15473", "issueType": "Task", "key": "SERVER-2361", "labels": [], "originalEstimate": "PT0S", "parent": "26436", "parentSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-23T12:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.6)", "timeSpent": "PT0S", "updated": "2018-10-29T16:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-10-12T11:08:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@165169bc"}, {"fieldName": "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-9219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1vr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5208_*|*_5_*:*_1_*:*_540359278_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_946257012"}], "description": "(Initial planned release date: 2018-10-23)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-10-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "estimate": "PT0S", "externalId": "15047", "fixedVersions": [], "id": "15047", "issueType": "Task", "key": "SERVER-2360", "labels": [], "originalEstimate": "PT0S", "parent": "26436", "parentSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-29T16:05:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.6)", "timeSpent": "PT0S", "updated": "2018-10-29T16:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "5a8ddd3e21870439aa9195e5", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] is this still on the radar? Please update the ticket with the status.\u00a0\n\nThank you!", "created": "2018-10-18T17:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Patrick was out Friday. I ran the ticketmatch for this as part of reviewing the release notes PR: https://github.com/puppetlabs/puppetserver/pull/1856 Things look good after I updated a few of the tickets that went out in 6.0.0 to include this new 5.3.6 fix version.", "created": "2018-10-22T10:33:00.000000"}], "components": [], "created": "2018-10-12T11:08:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@23f207a3"}, {"fieldName": "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-9219"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1vj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4717_*|*_5_*:*_1_*:*_617312725_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_869317727"}], "description": "(Initial planned release date: 2018-10-23)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-10-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "estimate": "PT0S", "externalId": "14830", "fixedVersions": [], "id": "14830", "issueType": "Task", "key": "SERVER-2359", "labels": [], "originalEstimate": "PT0S", "parent": "26436", "parentSummary": "Puppet Platform 5.5.7 Release - 2018-10-23\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-10-22T12:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.6)", "timeSpent": "PT0S", "updated": "2018-10-29T16:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Filed TK-474 as a high-level ticket describing the main work that needs to be done in tk-auth. That ticket will most likely be subtasked later, and then accompanied by tickets to track the work of testing and possibly adding some built-in rules to ship with PE.", "created": "2018-11-27T16:33:00.000000"}], "components": [], "created": "2018-10-11T17:46: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@52acc1b9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2gn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_11811_*|*_3_*:*_1_*:*_2144804653_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_1915154893"}], "description": "We've had some people ask for tk-auth to respect RBAC tokens. We should look into the use cases for this, think about how we might implement it, and create a proposal.\n\nWe think this might be useful for doing arbitrary catalog compilations (CD4PE), gated access to the CA, and possibly device management.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15471", "fixedVersions": [], "id": "15471", "issueType": "Task", "key": "SERVER-2358", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-11-27T16:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Research RBAC tk-auth integration", "timeSpent": "PT0S", "updated": "2018-11-27T16:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-11T15:46:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 CA CLI OID can be referenced either with {{pp_cli_auth}} or {{pp_auth_ca_cli}}\n* PE's management of this auth.conf setting is updated to use the new name\n* puppetserver's default auth.conf is updated to use the new name"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@cb22c99"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqgn3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3353702676_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2590168388_*|*_10005_*:*_1_*:*_97983868025"}], "description": "We recently added a special auth extension to the puppet master's cert, which enables access to the {{certificate_status}} endpoints for signing and revoking certs. This extension is currently referenced in {{auth.conf}} as {{pp_cli_auth}}, but we want to establish a convention of prefixing all auth extensions with {{pp_auth*}}. We should add an alias to the extension with the correct prefix and only document that version, to encourage users to expect that naming convention.\n\nBecause we have already shipped some auth.conf files with the old name, in both FOSS and PE, it is necessary for the time being to still allow puppetserver to recognize the old name. Eventually the old version should be removed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16531", "fixedVersions": ["SERVER 6.0.z"], "id": "16531", "issueType": "Improvement", "key": "SERVER-2357", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Fix", "resolutionDate": "2022-01-26T11:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Rename CLI auth extension to follow naming conventions", "timeSpent": "PT0S", "updated": "2022-01-26T11:35:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Marking as a duplicate of SERVER-2324.", "created": "2018-11-14T16:40:00.000000"}], "components": [], "created": "2018-10-11T12:45:00.000000", "creator": "557058:45fa3568-deb5-4da5-b894-a1ec07f1c138", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27294e85"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzqg8v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "14/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2955330030_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 2019.0.0\n*Puppet Server Version:* 2019.0.0.29\n*OS Name/Version:* centos7\n\n***This AWS server is only up temporarily, and is running a 10 day soak test, so don't do anything that would impact perf***\nGoto this URL https://ip-10-227-1-80.amz-dev.puppet.net:8140/puppet/experimental/dashboard.html\n\n*Desired Behavior:*\nDeveloper dashboard should show some stats\n\n*Actual Behavior:*\nAll I get is a page with the title \"Puppet Server Developer Dashboard\" and two odd small boxes.\n\nDocs here imply no setup should be needed to make this work.\nhttps://puppet.com/docs/puppetserver/6.0/puppet_server_metrics.html\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15166", "fixedVersions": [], "id": "15166", "issueType": "Bug", "key": "SERVER-2356", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:45fa3568-deb5-4da5-b894-a1ec07f1c138", "resolution": "Duplicate", "resolutionDate": "2018-11-14T16:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Developer dashboard not working on 2019.0.0", "timeSpent": "PT0S", "updated": "2018-11-14T16:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-10-10T12:38:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@20c030f6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl1xj:"}, {"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 `puppetserver ca` tool would default to $certname for connecting to the server (as this is the most common workflow). However the agent defaults to connecting to \"puppet\" as its server and some environments configured to have the CA reachable by the name puppet, rather than the certname experienced connectivity issues with the tool. This was especially troublesome in our pupperware docker environment.\n\nThe `puppetserver ca` tool now has the same default for $server as the agent, \"puppet\". It also will honor the settings within the agent section of the puppet.conf to help ease the transition for users who have only set custom $server values in the agent section (in testing this bug fix we realized that most workflows involved setting the $server value in the agent section to $certname, which breaks with this fix without the additional step of also reading the agent section)."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_2147459645_*|*_1_*:*_1_*:*_105077234_*|*_10007_*:*_1_*:*_319304_*|*_3_*:*_1_*:*_222610_*|*_5_*:*_1_*:*_2577106311_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1202425587"}], "description": "Current:\n\nThe puppetserver-ca gem will resolve $ca_server -> $server -> $certname when attempting to connect, however puppet proper resolves it like $ca_server -> $server -> \"puppet\". This works in our PE and the server team's dev environments where we explicitly manage the $server setting, but will not necessarily work in other production or development environments.\n\n-----\n\nOriginal and Updates:\n\n*Puppet Version:* 6.0.2\n*Puppet Server Version:* 6.0.1\n*OS Name/Version:* centos 7\n\nWhen a puppetserver's fqdn is set to 'puppet', running `puppet agent` on that host succeeds but running `puppetserver ca` on that host fails with an authorization issue. However, if you run `puppet config set server puppet`, `puppetserver ca` succeeds.\n\nIf the puppetserver's fqdn is set to any other hostname without domain (ie, 'puppetize'), running both `puppet agent` and `puppetserver ca` fail with certificate verify failed.\n\n*examples:*\nhostname = puppet\n{noformat}\n[root@q7i6xv8dbok5p3f ~]# hostnamectl set-hostname puppet\n[root@q7i6xv8dbok5p3f ~]# vim /etc/hosts\n[root@q7i6xv8dbok5p3f ~]# hostname -f\npuppet\n[root@q7i6xv8dbok5p3f ~]# grep puppet /etc/hosts\n10.16.115.103 puppet\n[root@q7i6xv8dbok5p3f ~]# service puppetserver start\nRedirecting to /bin/systemctl start  puppetserver.service\n[root@q7i6xv8dbok5p3f ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for puppet.delivery.puppetlabs.net\nInfo: Applying configuration version '1539196342'\nNotice: Applied catalog in 0.01 seconds\n[root@q7i6xv8dbok5p3f ~]# puppetserver ca list\nTraceback (most recent call last):\n        12: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n        11: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/cli.rb:89:in `run'\n        10: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:60:in `run'\n         9: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `get_all_certs'\n         8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:215:in `get_certificate_statuses'\n         7: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:253:in `get'\n         6: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:41:in `with_connection'\n         5: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:609:in `start'\n         4: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:909:in `start'\n         3: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:920:in `do_start'\n         2: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:981:in `connect'\n         1: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate) (OpenSSL::SSL::SSLError)\n[root@q7i6xv8dbok5p3f ~]# puppet config set server puppet\n[root@q7i6xv8dbok5p3f ~]# puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for puppet.delivery.puppetlabs.net\nInfo: Applying configuration version '1539196364'\nNotice: Applied catalog in 0.01 seconds\n[root@q7i6xv8dbok5p3f ~]# puppetserver ca list --all\nSigned Certificates:\n    puppet.delivery.puppetlabs.net   (SHA256)  ED:3F:AE:F8:6C:3D:C1:07:8A:EE:99:84:3F:90:E6:D2:3A:44:1B:25:44:9E:37:91:66:D6:DB:1E:C4:E5:0C:14  alt names: [\"DNS:puppet\", \"DNS:puppet.delivery.puppetlabs.net\"]\n{noformat}\n\nhostname = puppetize\n{noformat}\n[root@q7i6xv8dbok5p3f ~]# hostnamectl set-hostname puppetize\n[root@q7i6xv8dbok5p3f ~]# vim /etc/hosts\n[root@q7i6xv8dbok5p3f ~]# service puppetserver start\nRedirecting to /bin/systemctl start  puppetserver.service\n[root@q7i6xv8dbok5p3f ~]# hostname -f\npuppetize\n[root@q7i6xv8dbok5p3f ~]# puppet config set server puppetize\n[root@q7i6xv8dbok5p3f ~]# puppet agent -t\nWarning: Unable to fetch my node definition, but the agent run will continue:\nWarning: SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nInfo: Retrieving pluginfacts\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nError: /File[/opt/puppetlabs/puppet/cache/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nInfo: Retrieving plugin\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nError: /File[/opt/puppetlabs/puppet/cache/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nError: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\nWarning: Not using cache on failed catalog\nError: Could not retrieve catalog; skipping run\nError: Could not send report: SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate rejected): [ok for /CN=puppetize.delivery.puppetlabs.net]\n[root@q7i6xv8dbok5p3f ~]# puppetserver ca list\nTraceback (most recent call last):\n        12: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n        11: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/cli.rb:89:in `run'\n        10: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:60:in `run'\n         9: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `get_all_certs'\n         8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:215:in `get_certificate_statuses'\n         7: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:253:in `get'\n         6: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:41:in `with_connection'\n         5: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:609:in `start'\n         4: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:909:in `start'\n         3: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:920:in `do_start'\n         2: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:981:in `connect'\n         1: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error) (OpenSSL::SSL::SSLError)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14829", "fixedVersions": ["SERVER 6.1.0"], "id": "14829", "issueType": "Bug", "key": "SERVER-2354", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Fixed", "resolutionDate": "2018-11-19T11:30:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "`puppetserver ca` has wrong default value for server setting", "timeSpent": "PT0S", "updated": "2018-12-19T07:21:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This works for me. Maybe you were on an old version of the gem?", "created": "2018-10-22T10:43:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Must have been. Working fine for me.", "created": "2019-01-28T22:04:00.000000"}], "components": [], "created": "2018-10-09T13:54: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@3d8b0693"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzqea7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_9623362447_*|*_6_*:*_1_*:*_0"}], "description": "This is the same issue as PUP-1916, but with {{puppetserver ca clean}}. If an agent has submitted a CSR, but it hasn't been signed yet, then {{puppetserver ca clean --certname <name>}} will fail trying to revoke the cert first.\n\n{noformat}\n$ puppetserver ca clean --certname agent\nError:\n    When attempting to revoke certificate 'agent', received:\n      code: 409\n      body: Cannot revoke certificate for host agent without a signed certificate\n{noformat}\n\nThe {{clean}} action should only try to revoke the client cert if one has been issued.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17173", "fixedVersions": [], "id": "17173", "issueType": "Bug", "key": "SERVER-2353", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Cannot Reproduce", "resolutionDate": "2019-01-28T22:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca clean cannot remove signing requests", "timeSpent": "PT0S", "updated": "2019-01-28T22:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "CC [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "created": "2018-10-09T13:34:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "We should add {{pp_cli_auth}} to the ppAuthCertExt table of registered Puppet auth extensions:\n\nhttps://puppet.com/docs/puppet/6.0/ssl_attributes_extensions.html#reference-5482\n\nAlso, we should describe {{pp_cli_auth}} in a CA-specific context, perhaps in the {{puppetserver ca}} docs alongside the example of authorization by certname:\n\nhttps://puppet.com/docs/puppetserver/6.0/subcommands.html#ca", "created": "2018-10-09T14:43:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "The {{pp_cli_auth}} OID name does not follow the {{pp_auth_*}} pattern established in this OID range. We haven't documented it yet though, which means that if we value consistency in naming we have an opportunity to rename {{pp_cli_auth}} to {{pp_auth_cli}} as a bugfix before we're locked into painful change constraints.\n\n\u00a0Was there any intentionality behind not naming this OID consistently with the other in the range? Can we fix this?\n\nUsing the {{pp_auth_*}} prefix communicates in the name the difference between an OID in the ppAuthCertExt range vs. an OID in the ppRegCertExt range. The difference is important because CSRs containing ppAuthCertExt OIDs, like {{dns_alt_names}}, are protected from accidental signing. If we don't stick to this convention then there's no way to know if a given {{pp_\\*}} trusted fact is a ppAuthCertExt or a ppRegCertExt short of remembering or looking it up.", "created": "2018-10-09T14:46:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] - as discussed, please work on this one.", "created": "2018-10-11T09:57:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1] any comment on the OID name issue described above?", "created": "2018-10-11T10:31:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49] - we didn't discuss this when we met about the ticket (it was more about how to get the content in this epic written), but [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] is the person who would be able to answer your question.\u00a0", "created": "2018-10-11T10:45:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So honestly I picked the name kind of naively. However, unlike the other extensions you mention, we explicitly disallow signing this with Puppet Server in ALL cases: setting {{allow-authorization-extensions}} to true will not allow you to sign CSRs with this particular extension. It is locked down this tightly because any cert with this extension gains access to the CA signing and revoking API endpoints (which used to be entirely locked down with a deny-all rule).\n\nI'm happy to rename it if you think that's still more appropriate given these differences.", "created": "2018-10-11T11:00:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Interesting to know that this one is \"especially special\".\n\nI do think we should rename it to preserve the \"{{pp_auth_*}} is special\" name-memory trigger, especially-specialness notwithstanding, while we have the opportunity before it's documented.", "created": "2018-10-11T11:03:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah, this one is definitely a little \"especially special\" since we don't define hard requirements for the semantics of other OIDs, they are more like helpful examples that users can assigning meaning to in their signing policies.\n\nThis OID cannot be part of a signing policy (which, yes, is a bit janky but was a compromise that allowed us to loosen the restrictions on policy based signing of other extensions) and represents the fact that a node in a deployment has a specific role in relation to the CA regardless of other user defined roles.", "created": "2018-10-11T12:01:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] do you need a separate ticket wrt the name of this OID?\n\nMy main concern is communicating _in the name of the extension_ that it is special. The main differentiation that's important is special vs. un-special. {{pp_auth_*}} as a prefix would accomplish that.", "created": "2018-10-11T12:07:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So looking into this more, we only have two of these specified right now, looks like, {{pp_authorization}} and {{pp_auth_role}} https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L215-L216. That doesn't seem like a particularly strong pattern to me. The existing docs also don't recommend any particular naming conventions: https://puppet.com/docs/puppet/5.4/ssl_attributes_extensions.html#recommended-oids-for-extensions.\n\nAnd we're actually already not in a great spot in terms of lock-in: we have already shipped auth.conf files in FOSS (in both 5 and 6) that reference this name. So we would probably have to maintain both names for at least the lifetime of Puppet 6, which seems... less than ideal to me.", "created": "2018-10-11T12:13:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] to the end user, what we document will be what defines the UX.\n\nIs it fair to paraphrase\n{quote}That doesn't seem like a particularly strong pattern to me.{quote}\nas,\n{quote}The precedent is weak", "created": "2018-10-11T12:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fair enough. I didn't realize we were trying to establish this as a pattern when I was originally trying to figure out what to call it. Do you think people are going to find it misleading when setting {{allow-authorization-extensions}} to true doesn't allow them to use this extension? Maybe it's sufficient to document that caveat?", "created": "2018-10-11T15:21:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "Yeah, it would definitely make sense when documenting this one (whatever it's called) that it be singled out that way, and those constraints mentioned. Per your and Justin's explanation of how it's extra-special. ", "created": "2018-10-11T15:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Cool, will do. Filed SERVER-2357 for that work.", "created": "2018-10-11T15:46:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Please make sure to update https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/oids.rb also so that the agent can display meaningful oids in the future, e.g. {{puppet ssl print}}", "created": "2019-02-08T00:03:00.000000"}, {"author": "557058:bb372eb8-0089-49ba-8b22-213d5bf560f6", "body": "[~accountid:61af86343618cd006f430854] Why was this ticket closed? There has not been a resolution, and the {{pp_cli_auth}} extension requirement in auth.conf is still not documented any where that I can find in the publics docs.\n\nI know that Puppet 6 has been out for a while now, but there are still cases of people coming across this default rule in auth.conf via an upgrade, and they don't know how to get around it because it's not at all documented:\n{code}\nallow: {\n  extensions: {\n     pp_cli_auth: \"true\"\n  }\n}\n{code}\n\nFor example: https://puppetcommunity.slack.com/archives/C0W298S9G/p1657229472576189\n\nThe best advice I've been able to find is [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]'s comment here:\n* https://groups.google.com/g/puppet-users/c/Tm9-Q_HIieg/m/sUFsbIiPDAAJ\n\n{quote}\n1) whitelist the master's certname (which is more secure than allow-unauthenticated anyway). See the example at the bottom of [this section|https://puppet.com/docs/puppetserver/6.0/subcommands.html#ca] in the docs\n2) Another community member also created https://github.com/smortex/puppet-add-cli-auth-to-certificate yesterday, which adds the auth extension to your master cert.\n\nFor all of these things, it's important to remember to restart your server. The auth.conf file in particular won't be reloaded until you restart the server.\n{quote}\n\nThe open questions that I think should be answered somewhere in the Puppetserver docs:\n* What does the {{pp_cli_auth}} extension mean?\n* Where does it come from?\n* How do you add it to an existing Puppetserver's certificate?\n* What are the recommended alternate options instead of {{pp_cli_auth}}, if any?", "created": "2022-07-07T18:42:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:619528076d002b006b1c1e8d] we may want to re-evaluate this one that was closed. I'm not sure how it fits in with your current roadmap. [~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] may have info on it.", "created": "2022-07-11T10:20:00.000000"}, {"author": "619528076d002b006b1c1e8d", "body": "[~accountid:557058:55b23daa-f1aa-41fd-b10d-bf49a61932da] do you have an idea about this one? Is this specifically for adding documentation for the earlier change, or is there more to it?", "created": "2022-07-11T10:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Reading through this ticket, it looks like this is just for documenting the {{pp_cli_auth}} extension - the open questions in [~accountid:557058:bb372eb8-0089-49ba-8b22-213d5bf560f6]'s comment seem like the right things to document. No idea what the priority should be.", "created": "2022-07-11T11:13:00.000000"}], "components": ["Puppet Server"], "created": "2018-10-09T13:31:00.000000", "creator": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "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 pp_cli_auth setting for Server's auth.conf is documented."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@14d58adc"}, {"fieldName": "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": "DOCUMENT-925"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzqe9r:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/18"}], "description": "SERVER-2287 / [puppetlabs/puppetserver commit d8f9ef9|https://github.com/puppetlabs/puppetserver/commit/d8f9ef90b6425291e2ff49e996c741e4680494a0] added a {{pp_cli_auth}} setting to rules in Server's auth.conf file, to allow access to the /puppet-ca/v1/certificate_status and certificate_statuses endpoints. This setting is not described in the [auth.conf documentation|https://puppet.com/docs/puppetserver/6.0/config_file_auth.html].\n\nSee also [https://groups.google.com/forum/#!topic/puppet-users/Tm9-Q_HIieg] and [Puppet Community Slack|https://puppetcommunity.slack.com/archives/C0W298S9G/p1539104904000100].", "epicLinkSummary": "Overhaul Puppet Server CA docs", "estimate": "PT0S", "externalId": "15165", "fixedVersions": [], "id": "15165", "issueType": "Bug", "key": "SERVER-2355", "labels": [], "originalEstimate": "PT0S", "parent": "54654", "parentSummary": "Overhaul Puppet Server CA docs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document Puppet Server's pp_cli_auth setting in auth.conf", "timeSpent": "PT0S", "updated": "2022-07-26T12:58:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Weird, some of the links contain 5.3. I think that means some of our 6.0 docs are hard coded to go to 5.3 server docs rather than latest (or latest redirects incorrectly in some situations).\n\nUpdated the links in the description, the issues with the pages are still applicable.", "created": "2018-10-09T12:32:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Is there any value for the Rack/Passenger/Ruby master content in the context of upgrading from an older Puppet master to current versions of Server? If so, it should probably move to docs for relevant older versions of Puppet instead of being deprecated or deleted. The \"notable differences\" page in particular seems like it would be useful in that context.", "created": "2018-10-09T12:45:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] I created a PR for the last three bullet points in your list\u00a0[https://github.com/puppetlabs/puppetserver/pull/1845.]\u00a0If you could please review when you get a chance. One of these changes will also need to change in the navigation, which I think is in the docs repo. I didn't see where it mentioned that ca.conf is deprecated? I could just see that is says master.conf is deprecated. Also,\u00a0will these changes just affect the Puppet 6 docs, or all previous versions? The docs repo is split up into different version numbers, but the docs in your repo are not, so I wasn't sure. As it makes sense what Garrett said that these features should still be in older versions of the docs.\u00a0\n\nThe first two bullet points in your list are docs in either the Puppet repo or EasyDITA, so I will do these separately. But just to double check, the paragraph titled \"Classic Rack-based Puppet master\" (page [https://puppet.com/docs/puppet/6.0/services_commands.html#classic-rack-based-puppet-master)]\u00a0can be completely removed from the 6.0 docs? And so can these three pages?:\n * [https://puppet.com/docs/puppet/6.0/services_master_rack.html]\n * [https://puppet.com/docs/puppet/6.0/services_master_webrick.html]\n * [https://puppet.com/docs/puppet/6.0/man/master.html]\n\nThanks!\n\n\u00a0", "created": "2018-10-12T08:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e] is probably the person that knows the most about how different versions of our in repo docs get on the website.\n\nI had the very magical thinking impression that the docs should match up with the code at any given version and that docs machinery pulled the latest docs for a given support stream. eg. the 6.0 docs were generated from our 6.0.x branch, our 5.3 docs generated from our 5.3.x branch...\n\nBased on that, probably completely inaccurate daydream, I would target any missing deprecation notices at our 5.3.x branch and rip out any mentions of passenger and `puppet master` in our 6.0.x branch. And, regardless of where the docs site pulls from, I think it would best to have our docs match the respective code they're next to.", "created": "2018-10-12T10:53:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yep, those four pages can be completely removed from any 6.0 documentation.", "created": "2018-10-12T10:54:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] The Server docs are published based on the settings in [{{source/_config.yml}} on the {{master}} branch of the {{puppetlabs/puppet-docs}} Github repo|https://github.com/puppetlabs/puppet-docs/blob/master/source/_config.yml].\n\nRight now, those settings for Server are:\n{code}  /puppetserver/6.0:\n    ...\n    external_source:\n      repo: git://github.com/puppetlabs/puppetserver.git\n      commit: origin/6.0.x\n      subdirectory: documentation{code}\nThis means changes made to docs in the {{6.0.x}} branch of the {{puppetlabs/puppetserver}} Github repo will be published to the {{/puppetserver/6.0/}} part of the docs website on the next github-to-s3 Jenkins job run.\n\nFor the Puppet Server 5.3 docs, those settings are:\n{code}  /puppetserver/5.3:\n    ...\n    external_source:\n      repo: git://github.com/puppetlabs/puppetserver.git\n      commit: origin/5.3.x\n      subdirectory: documentation{code}\nThis means changes made to docs in the {{5.3.x}} branch of the {{puppetlabs/puppetserver}} Github repo will be published to the {{/puppetserver/5.3/}} part of the docs website on the next github-to-s3 Jenkins job run.", "created": "2018-10-12T13:26:00.000000"}], "components": [], "created": "2018-10-09T12:21: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@503b2ac1"}, {"fieldName": "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": "DOCUMENT-925"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqe67:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_164018426_*|*_3_*:*_1_*:*_343879729_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_77742742"}], "description": "We on the team, and users, keep finding references to the `puppet master` application throughout our docs. We should sit down and purge all of it.\n\nI running list of references found:\n* https://puppet.com/docs/puppet/6.0/services_commands.html#classic-rack-based-puppet-master  (and bit in the above section on Puppet Server)\n* Links from the above section:\n** https://puppet.com/docs/puppet/6.0/services_master_rack.html\n** https://puppet.com/docs/puppet/6.0/services_master_webrick.html\n** https://puppet.com/docs/puppet/6.0/man/master.html\n* References to the rack master on the puppet server page, specifically this section: https://puppet.com/docs/puppetserver/6.0/services_master_puppetserver.html#puppet-master-service (note further down the page we also mention that the ca.conf is deprecate, which is no longer true in 6)\n* We should deprecate this page as there is no longer a passenger version to be \"vs\" https://puppet.com/docs/puppetserver/6.0/puppetserver_vs_passenger.html\n* The wording of this page should change as these are \"how Puppet Server uses the values in puppet.conf\" rather than \"how it differs from a Ruby Master in its usage of puppet.conf\" https://puppet.com/docs/puppetserver/6.0/puppet_conf_setting_diffs.html\n*  ", "epicLinkSummary": "Overhaul Puppet Server CA docs", "estimate": "PT0S", "externalId": "17413", "fixedVersions": [], "id": "17413", "issueType": "Task", "key": "SERVER-2352", "labels": [], "originalEstimate": "PT0S", "parent": "54654", "parentSummary": "Overhaul Puppet Server CA docs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-10-16T07:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "(DOCS) Purge references to `puppet master` application", "timeSpent": "PT0S", "updated": "2018-10-16T07:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-10-09T11:56:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca generate --ca-client}} does not work while Puppet Server's CA service is running"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6880c970"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqe53:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18977169_*|*_1_*:*_1_*:*_29225_*|*_10007_*:*_1_*:*_85382301_*|*_3_*:*_1_*:*_9167224_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_683503348"}], "description": "We want to ensure that the user can't generate certs offline with the CA CLI tool, while the server is running, since this could cause race conditions. The {{generate}} action should check that the server is offline before generating certs with the {{--ca-client}} flag.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17412", "fixedVersions": [], "id": "17412", "issueType": "Sub-task", "key": "SERVER-2351", "labels": [], "originalEstimate": "PT0S", "parent": "15163", "parentSummary": "Make CA CLI check that server is offline before generating offline certs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-18T17:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Query status endpoint for CA status before generating offline certs", "timeSpent": "PT0S", "updated": "2018-10-18T17:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Example of registering a service: https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/master/master_service.clj#L171-L178", "created": "2018-10-09T13:09:00.000000"}], "components": [], "created": "2018-10-09T11:53:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Server's CA service is registered with the status service\n* The disabled CA service is not registered with the status service\n* The proxy CA service is registered with the status service under its own ID"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@49e60316"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqe4v:"}, {"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 CA service and the CA proxy service (in PE) now have their own entries in the status endpoint output and can be queried as \"ca\" and \"ca-proxy\" respectively."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_523037338_*|*_1_*:*_1_*:*_16980_*|*_10007_*:*_1_*:*_2221472_*|*_3_*:*_1_*:*_82278437_*|*_5_*:*_1_*:*_580973662_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_105380492"}], "description": "Puppet Server has a status endpoint that reports the statuses of all its various services. Currently the CA service is not registered here, but since now we are interested in checking its status for the purpose of making sure it is NOT running, we should register it and use that information to gate the ability to generate offline certs with the CA CLI.\n\nThe disabled CA service should not be registered, and the proxy CA service should be registered separate from the main CA service.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17172", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.2"], "id": "17172", "issueType": "Sub-task", "key": "SERVER-2350", "labels": [], "originalEstimate": "PT0S", "parent": "15163", "parentSummary": "Make CA CLI check that server is offline before generating offline certs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-24T11:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Register the CA service with the status service", "timeSpent": "PT0S", "updated": "2018-10-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This does make sense for us to do, given that we recommend that FOSS users use r10k and then transition to Code Manager as part of upgrading to PE. So it makes sense to include r10k in our FOSS packages. If we do this, we have to make sure however we install the gem doesn't conflict with the way we are shipping it in PE. Will need a little investigation, but should be doable.", "created": "2018-10-09T13:02:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "[~accountid:62438a418678e9007059bcca] as a workaround for the \"download every dependent rubygem\" part: use bundler.\n\nwhat i'm doing on an internet-connected host with same OS/Ruby as your target system:\n\n*  create a simple Gemfile \n\n{noformat}\nsource \"https://rubygems.org\"\ngem \"r10k\"\n{noformat}\n\n* run {{bundle install --standalone --binstubs}}\n* all required dependencies will be included in the folder - create a tar.gz of it or a simple RPM/deb with ruby fpm\n* ship this all-in-one file to your target\n", "created": "2018-10-10T02:18:00.000000"}, {"author": "61af86343618cd006f430854", "body": "workaround available in comments", "created": "2021-12-01T09:45:00.000000"}], "components": [], "created": "2018-10-08T12:00:00.000000", "creator": "62438a418678e9007059bcca", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5fee9bd9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqd8v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_89882622_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_99265572305"}], "description": "r10k is one of the most common mechanisms for managing Puppet modules and Puppet environments on Puppet servers, but using r10k requires installing the r10k gem via {{/opt/puppetlabs/puppet/bin/gem install --no-document r10k}}, because it is not included in the puppetserver packaging.\n\nWe run Puppet on air-gapped hosts that are not connected to the Internet, and thus {{/opt/puppetlabs/puppet/bin/gem install --no-document r10k}} is not an option for us. In order to install r10k, we have to manually download the r10k gem _and_ every dependent Ruby gem from rubygems.org, burn them onto CD/DVD media, carry them across the air-gap, and then install them on our air-gapped Puppet server. This is a tedious, error-prone process.\n\nPlease consider simply bundling the r10k gem in the open source puppetserver package. This would greatly the reduce the burden on sites that cannot simply {{gem install}} the r10k gem, and given how overwhelmingly common r10k, it simply makes sense to ensure it works out-of-the-box.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16884", "fixedVersions": [], "id": "16884", "issueType": "Improvement", "key": "SERVER-2349", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Minor", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62438a418678e9007059bcca", "resolution": "Declined", "resolutionDate": "2021-12-01T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver package should include r10k gem", "timeSpent": "PT0S", "updated": "2021-12-01T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Heads up, [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]. This is the follow on to the tk-scheduler update that I've been reviewing.", "created": "2018-10-09T15:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We updated this in clj-parent, and all of the projects are at or near the newest version now.", "created": "2019-09-27T16:58:00.000000"}], "components": [], "created": "2018-10-08T11:51: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@6a27e122"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzqd8n:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_30604028762_*|*_5_*:*_1_*:*_0"}], "description": "tk-scheduler 1.0.0 is coming out soon and will substantially change the internals of the service. The interface will largely remain the same but we will require changes in at least puppetserver and file-sync tests where we mock out the service. Its also a change that we want to have a large amount of soak time in internal builds so getting it in as soon as possible is ideal.\n\nThis ticket should entail upgrading puppetserver, file-sync, pe-puppet-server-extentions and pe-puppetserver to use the version of clj-parent that includes tk-scheduler 1.0. As part of upgrading it will involve updating test mocks in at least two of those repos. If there are any issues found in integration, acceptance, or performance testing they should be ticketed and worked through with the Direct Change team (who wrote this update).\n\nThis is available in clj-parent 2.3.4 and will block uptake of that and later versions of clj-parent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16576", "fixedVersions": [], "id": "16576", "issueType": "Task", "key": "SERVER-2348", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2019-09-27T16:58:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Use tk-scheduler 1.0.0", "timeSpent": "PT0S", "updated": "2019-09-27T16:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:6a02e3ba-ecc1-4eed-9254-b2931eed22ba", "body": "After uninstalling and reinstalling several times, trying to fix this, it _appears_ as if the certificate is auto-generated. However, I'm not sure if that was just left over from a previous attempt.\n\nIt would be nice if someone who actually knew a bit more about this could go through the installation instructions and fix any errors.", "created": "2018-10-07T20:39:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah those docs are definitely a bit funky on several levels, I'll get that cleaned up. Thanks for pointing this out!\n\nI think the main issue here is that the command for setting up the intermediate CA is *{{puppetserver ca setup}}* (it was briefly called {{generate}} before release, which may have caused the confusion when these were written). Starting Puppet Server will also generate CA files if none yet exist, but with the old self-signed root architecture, which exists only for backwards compatibility and is not recommended for use on new installs. That may have been what you saw.\n\nFor more details on the intermediate CA, see https://puppet.com/docs/puppetserver/6.0/intermediate_ca.html, and for more information on the {{puppetserver ca}} command line tool, see https://puppet.com/docs/puppetserver/6.0/subcommands.html#ca.", "created": "2018-10-08T09:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1] do changes like this get picked up automatically each time the docs get built?", "created": "2018-10-08T15:25:00.000000"}, {"author": "557058:6a02e3ba-ecc1-4eed-9254-b2931eed22ba", "body": "Thanks [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] - I'll be waiting with baited breath for the updated docs.\u00a0 \u00a0The only thing that SLIGHTLY concerned me is that how did it know what the correct FQDN was?\u00a0\n\nI am lucky enough that I was able to provide a valid RDNS, so when the machine did a lookup of itself, it was able to get the correct CN, but I'm sure other people won't be as lucky.\u00a0 Is there any chance you can document how to regenerate the puppet master cert with the 'correct' CN on its certificate? That's actually what sent me down this spiral, because it seemed un-intuitive that puppet would just guess what the cert should be.", "created": "2018-10-08T16:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So if you are generating the master cert as part of generating the whole CA (e.g. with the {{setup}} command), it will use the {{certname}} setting from {{puppet.conf}}. The default value for this is the FQDN as detected by Facter. The code in the puppetserver CLI gem that supplies this default is here: https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/config/puppet.rb#L76-L86. This is the same behavior that puppetserver has always used for generating the master cert. So if you want something other than the FQDN detected by Facter, you should configure {{certname}} in the {{master}} section in {{puppet.conf}}.\n\nIf you are trying to regenerate your master cert _without_ regenerating the CA, you should stop puppetserver, and use {{puppetserver ca generate --ca-client --certname <name> --subject-alt-names <SANs>}}. This command will create a certificate with the right auth extensions to contact Puppet Server's CA API, required for using the {{puppetserver ca}} CLI. It requires you to specify both the certname and any subject alt names manually. Depending on why you are regenerating the cert, one good way to do this is to inspect the values from the old master cert (assuming you still have it) and supply those before deleting the old cert. If you are regenerating the cert because they were wrong the first time, it would be a good idea to also configure your desired values in the master section of {{puppet.conf}}. If you have already configured them, and are regenerating because something bad happened to your old master cert (accidental deletion, it got corrupted or compromised), you can use {{puppet config print certname --section master}} and {{puppet config print dns_alt_names --section master}} (the FQDN will always be added to whatever the latter returns) to retrieve the configured values.\n\nDoes this clear things up? Do you have any further questions?\n\nI have a note to update the docs at https://puppet.com/docs/puppet/6.0/ssl_regenerate_certificates.html for Puppet 6 (they still reference the old {{puppet cert}} CLI, as well as several other deprecated workflows). Do you think some of this more detailed info should also get added there, or was this more than you needed? (Note: the old process was \"simpler\" because it was frighteningly magical. In what world should running `puppet cert list` regenerate your whole CA??)", "created": "2018-10-08T16:33:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "It appears that these changes are in the docs [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] - but I'll kick off the build to be sure.", "created": "2018-10-08T17:14:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Thanks, I just noticed a formatting error now that they've been published, I put up https://github.com/puppetlabs/puppetserver/pull/1842 to fix it. It should be fine for that to go out whenever, it's minor.", "created": "2018-10-08T17:26:00.000000"}], "components": [], "created": "2018-10-07T20:34:00.000000", "creator": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@70adffcf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykl73:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_4293043_*|*_1_*:*_1_*:*_45081889_*|*_10007_*:*_1_*:*_14946937_*|*_5_*:*_1_*:*_1787245967_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3410146"}], "description": "Hello! There seems to be a typo in this doc https://puppet.com/docs/puppetserver/6.0/install_from_packages.html#quick-start - one command says to run {{service puppetserver ca generate}}, when I think it should read puppetserver ca generate.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15711", "fixedVersions": ["SERVER 6.0.2"], "id": "15711", "issueType": "Task", "key": "SERVER-2347", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "resolution": "Fixed", "resolutionDate": "2018-10-08T15:23:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "(DOCS) 'service puppetserver ca generate' typo", "timeSpent": "PT0S", "updated": "2018-10-29T07:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-03T17:43: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@64c96fab"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:g"}], "description": "If we are going to start supporting an architecture where users have multiple intermediate signing CAs that all chain back to the same root, we should have some tooling around making the setup easier. The first thing is the ability to create a new CA certificate from a box's root via the {{puppetserver ca}} CLI.\n\nI'm thinking maybe add another option to the {{generate}} action, similar to the {{--ca-client}} flag, that will cause an intermediate CA cert to be created from the box's existing root.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "17411", "fixedVersions": [], "id": "17411", "issueType": "New Feature", "key": "SERVER-2346", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add ability to generate additional intermediate CA certs from a root", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We probably want to save the key pair if the CSR submission is successful. \nDon't know if we want to check to see if the cert was signed by the master before trying to sign it? Or try to sign it and then, if a 409, continue and try to download it?", "created": "2018-10-02T16:37:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is a problem for our default docker images.", "created": "2018-10-02T16:37:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This needs a release of the gem and subsequent bumps in puppetserver.", "created": "2018-10-11T17:06:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Was released in puppetserver-ca gem 1.1.2 and will go out in the 5.5.7, 6.0.3, and the Irving and Johnson builds that use them.", "created": "2018-10-25T11:20:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] is there a meaningful fix version for this?", "created": "2018-10-30T09:43:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I don't think we tagged the commits used to bump the gem with this ticket, but I added the fix version anyway.", "created": "2018-10-30T09:49:00.000000"}], "components": [], "created": "2018-10-02T16:34: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@14b1d683"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1tz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_521480303_*|*_1_*:*_1_*:*_559693_*|*_10007_*:*_1_*:*_275842140_*|*_5_*:*_1_*:*_1709028778_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_413963740_*|*_10005_*:*_1_*:*_89017713"}], "description": "The {{puppetserver ca generate}} action attempts to submit a CSR, sign a corresponding cert, download it the signed cert, and after downloading the signed cert write out the relevant files to disk. When autosign on the master is true the second call, the one that signs the cert will fail (the server will have already signed the cert and remove the CSR). Consequently there will be a signed cert on the CA but it will not be downloaded, the command will fail, and the keypair will not have been saved.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15469", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.2"], "id": "15469", "issueType": "Improvement", "key": "SERVER-2345", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-10-17T17:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver-ca generate does not work when autosign is true", "timeSpent": "PT0S", "updated": "2018-11-06T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Code's been merged, assigning back to myself to release the library into clj-parent and on into puppetserver.", "created": "2018-10-03T09:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], don't forget to update PE as well!", "created": "2018-10-04T17:05:00.000000"}], "components": [], "created": "2018-10-02T11:16: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@41ca1bc6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzq93r:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_504067921_*|*_1_*:*_1_*:*_19253_*|*_10007_*:*_1_*:*_13724661_*|*_3_*:*_1_*:*_5746804_*|*_5_*:*_1_*:*_1377360057_*|*_6_*:*_1_*:*_0"}], "description": "We have middleware that catches otherwise uncaught exceptions and returns a 500 with the Exception message or kind. We do not want to return a stacktrace over the wire, however we should log the stacktrace locally at an error level. We currently only log the Exception message which is not helpful. See: https://github.com/puppetlabs/ring-middleware/blob/master/src/puppetlabs/ring_middleware/core.clj#L205", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15710", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.2"], "id": "15710", "issueType": "Improvement", "key": "SERVER-2344", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-10-08T12:42:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Log stack traces for uncaught exceptions in ring-middleware", "timeSpent": "PT0S", "updated": "2018-10-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-02T10:27:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 `certificate_status` endpoint returns the cert's serial along with its other info"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e86d7b7"}, {"fieldName": "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": "SERVER-2342"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:d"}], "description": "Currently the info returned by the {{certificate_status}} endpoint does not contain the cert's serial number. This blocks being able to do anything to a cert by serial number instead of cert name, like revoking.\n\nThe main use case that I know of for this is correctly revoking certs when {{allow-duplicate-certs}} is turned on, particularly in combination with a fix to make duplicate revocations illegal, see [ticket to be filed]. We should look into what our support for duplicate certs actually is (or should be, it seems a little broken right now), and make sure that however we implement this behaves correctly in that context.", "epicLinkSummary": "CA API Improvements", "estimate": "PT0S", "externalId": "15468", "fixedVersions": [], "id": "15468", "issueType": "New Feature", "key": "SERVER-2343", "labels": [], "originalEstimate": "PT0S", "parent": "15164", "parentSummary": "CA API Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The certificate_status endpoint should return the cert's serial number", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-10-02T10:27: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@711d4ffb"}, {"fieldName": "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": "CA API Improvements"}, {"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": "orange"}, {"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|hzq91j:"}], "description": "A group of improvements to be made to Puppet Server's CA API. These mostly concern extending support for serial numbers.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15164", "fixedVersions": ["SERVER 6.y"], "id": "15164", "issueType": "Epic", "key": "SERVER-2342", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Open", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CA API Improvements", "timeSpent": "PT0S", "updated": "2022-03-08T12:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "6243affffd5e450070435046", "body": "{{Meanwhile, work around, since this issue is apparenlty rare, and solutions rarer. Renew the cert on the server. On the _node_ do:}}\n\n{{rm\u00a0/var/lib/puppet/ssl/certs/ca.pem}}", "created": "2018-11-13T08:01:00.000000"}], "components": [], "created": "2018-10-02T10:02: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@6b029a95"}, {"fieldName": "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": "Improve Certificate Regen Workflow"}, {"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": "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|hzq90f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Nov/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_90640427286_*|*_6_*:*_1_*:*_0_*|*_10012_*:*_1_*:*_17628943576"}], "description": "This is an epic containing work necessary to improve the workflow for regenerating CA certificates, host certificates, and CRLs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15939", "fixedVersions": [], "id": "15939", "issueType": "Epic", "key": "SERVER-2341", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2022-03-08T11:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve Certificate Regen Workflow", "timeSpent": "PT0S", "updated": "2022-03-08T11:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So it turns out this command is actually pretty much working as expected. We don't get an SSL verification error after revoking the master cert because we are reusing the connection used to revoke to then make the delete request. While this is a little bit odd, we think the trade off is worth it for being able to reuse the connection when cleaning multiple certs at once. Furthermore, the server is correctly reporting that it cleans up the _CA's_ record of the named certificate. In the case of the master cert, a user would still need to delete that agent-side artifacts (things outside of the {{ssl/ca}} dir), either manually, or with the {{puppet ssl clean}} command from PUP-9156, in addition to running {{puppetserver ca clean}}.", "created": "2018-10-02T11:37:00.000000"}], "components": [], "created": "2018-09-28T11:48: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@7a87b818"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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": "Manual 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|hyl1tr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_20999_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_344949226"}], "description": "It should not be possible to use `puppetserver ca clean` on the master's host cert, because the first step of this command revokes the cert, then the second attempts to make a second request, which should then fail SSL validation. We are not getting that failure, instead the command is exiting 0, even though it does not successfully get any files to be cleaned up. We should find out why we're not getting a verification error. Short of that, we should potentially check to make sure the files are actually deleted from disk and exit accordingly.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16575", "fixedVersions": [], "id": "16575", "issueType": "Bug", "key": "SERVER-2340", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Cannot Reproduce", "resolutionDate": "2018-10-02T11:37:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "`puppetserver ca clean` fails to clean up master cert files but exits 0", "timeSpent": "PT0S", "updated": "2018-10-02T11:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:f93dabe2-c430-43db-affe-674f18d664f9", "body": "I could reproduce this issue on brand new set-up.\n\n\n{noformat}\nroot@puppet:~# puppetserver ca list\nTraceback (most recent call last):\n\t9: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/cli.rb:89:in `run'\n\t7: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:60:in `run'\n\t6: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `get_all_certs'\n\t5: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `new'\n\t4: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:16:in `initialize'\n\t3: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:16:in `new'\n\t2: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:19:in `initialize'\n\t1: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:108:in `make_store'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:108:in `add_file': system lib (OpenSSL::X509::StoreError)\nroot@puppet:~# puppetserver ca list --all\nTraceback (most recent call last):\n\t9: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/cli.rb:89:in `run'\n\t7: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:60:in `run'\n\t6: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `get_all_certs'\n\t5: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/action/list.rb:117:in `new'\n\t4: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:16:in `initialize'\n\t3: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/certificate_authority.rb:16:in `new'\n\t2: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:19:in `initialize'\n\t1: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:108:in `make_store'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.1.1/lib/puppetserver/ca/utils/http_client.rb:108:in `add_file': system lib (OpenSSL::X509::StoreError)\nroot@puppet:~# puppetserver --version\npuppetserver version: 6.0.1\nroot@puppet:~# puppet --version\n6.0.2\n{noformat}\n", "created": "2018-10-13T17:36:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, so I think there's two issues here. One, we require you to run {{puppetserver ca setup}} if you want to take advantage of the new intermediate CA functionality. That wasn't well documented at the time of launch, though hopefully it now is. If not we should work on that in this ticket.\n\nThe second issue, the ugly exceptions when there's a connection problem, I think, are more clearly called out in SERVER-2317, and should be fixed in Server 6.1.0 or the puppetserver-ca gem 1.1.4 both coming out in the next couple of weeks.", "created": "2018-12-10T16:46:00.000000"}], "components": [], "created": "2018-09-26T19:30: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@dd6a5bf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzq573:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_31613194428_*|*_5_*:*_1_*:*_0"}], "description": "Install puppetserver, but don't start it, then run:\n\n{noformat}\nroot@av9vudb50vvp25c:~# /opt/puppetlabs/bin/puppetserver ca list --all\nTraceback (most recent call last):\n\t9: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/cli.rb:89:in `run'\n\t7: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:60:in `run'\n\t6: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:113:in `get_all_certs'\n\t5: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:113:in `new'\n\t4: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:16:in `initialize'\n\t3: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:16:in `new'\n\t2: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/utils/http_client.rb:19:in `initialize'\n\t1: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/utils/http_client.rb:108:in `make_store'\n/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/utils/http_client.rb:108:in `add_file': system lib (OpenSSL::X509::StoreError)\n{noformat}\n\nPresumably it's trying to add the trusted ca bundle, but there isn't one yet.\n\nIf you run {{puppetserver ca setup}} but don't start the server, then there's another ugly exception, because the server isn't running:\n\n{noformat}\nroot@av9vudb50vvp25c:~# /opt/puppetlabs/bin/puppetserver ca list --all\nTraceback (most recent call last):\n\t14: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t13: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/cli.rb:89:in `run'\n\t12: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:60:in `run'\n\t11: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:113:in `get_all_certs'\n\t10: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:215:in `get_certificate_statuses'\n\t 9: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:253:in `get'\n\t 8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/utils/http_client.rb:41:in `with_connection'\n\t 7: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:609:in `start'\n\t 6: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:909:in `start'\n\t 5: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:920:in `do_start'\n\t 4: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:935:in `connect'\n\t 3: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:103:in `timeout'\n\t 2: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'\n\t 1: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:936:in `block in connect'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect': Failed to open TCP connection to av9vudb50vvp25c.delivery.puppetlabs.net:8140 (Connection refused - connect(2) for \"av9vudb50vvp25c.delivery.puppetlabs.net\" port 8140) (Errno::ECONNREFUSED)\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17410", "fixedVersions": [], "id": "17410", "issueType": "Bug", "key": "SERVER-2337", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2019-09-27T16:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca list throws an exception if run after install", "timeSpent": "PT0S", "updated": "2019-09-27T16:56:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] I think this is related to the format negotiation exception you noticed.", "created": "2018-09-26T17:10:00.000000"}, {"author": "557058:2deef474-47df-419f-8123-bbd42806cf68", "body": "I have tested customer case, just want to share here for understanding. Looks like the upgrade (2019.0.0)\u00a0 is not installing new gems are introduced\u00a0{{puppetserver gem}}\n\nPlease find below reproduce steps on my test machine\n\n[root@pe-201814-master puppet-enterprise-2019.0.0-el-7-x86_64]# /opt/puppetlabs/server/bin/puppetserver gem install multi_json\n Fetching: multi_json-1.13.1.gem (100%)\n Successfully installed multi_json-1.13.1\n 1 gem installed\n [root@pe-201814-master puppet-enterprise-2019.0.0-el-7-x86_64]#\n\n2018.1.4 version output (before upgrade)\n\n[root@pe-201814-master ~]# /opt/puppetlabs/server/bin/puppetserver gem list\n * \n ** \n *** LOCAL GEMS ***\n\ndid_you_mean (default: 1.0.1)\n fast_gettext (1.1.1)\n gettext (3.2.2)\n hiera-eyaml (2.1.0)\n highline (1.6.21)\n hocon (1.1.3)\n jar-dependencies (default: 0.3.12)\n jruby-openssl (0.9.21 java)\n jruby-readline (1.2.2 java)\n json (1.8.3 java)\n locale (2.1.2)\n minitest (default: 5.4.1)\n net-telnet (default: 0.1.1)\n power_assert (default: 0.2.3)\n psych (2.2.4 java)\n rake (default: 10.4.2)\n rdoc (default: 4.2.0)\n semantic_puppet (0.1.3)\n test-unit (default: 3.1.1)\n text (1.3.1)\n trollop (2.1.3)\n [root@pe-201814-master ~]#\n\n*2019.0.0*\u00a0I installed the fresh machine\n\n[root@pe-201910-master bin]# /opt/puppetlabs/server/bin/puppetserver gem list\n * \n ** \n *** LOCAL GEMS ***\n\ndeep_merge (1.0.1)\n did_you_mean (default: 1.0.1)\n facter (2.5.1)\n fast_gettext (1.1.2)\n gettext (3.2.2)\n hiera-eyaml (2.1.0)\n highline (1.6.21)\n hocon (1.2.5)\n jar-dependencies (default: 0.3.12)\n jruby-openssl (0.9.21 java)\n jruby-readline (1.2.2 java)\n json (1.8.3 java)\n locale (2.1.2)\n minitest (default: 5.4.1)\n multi_json (1.13.1)\n net-telnet (default: 0.1.1)\n power_assert (default: 0.2.3)\n psych (2.2.4 java)\n puppet-resource_api (1.6.0)\n puppetserver-ca (1.1.1)\n rake (default: 10.4.2)\n rdoc (default: 4.2.0)\n semantic_puppet (1.0.2)\n test-unit (default: 3.1.1)\n text (1.3.1)\n trollop (2.9.9, 2.1.2)\n [root@pe-201910-master bin]#\n\nI believe the upgrade is not updating the gems.\n\nAfter upgrade 2019.0.0 from 2018.1.4 I have seen the gems are not updated.\n\n[root@pe-201814-master puppet-enterprise-2019.0.0-el-7-x86_64]# /opt/puppetlabs/puppet/bin/gem list\n * \n ** \n *** LOCAL GEMS ***\n\nbigdecimal (default: 1.3.4)\n cmath (default: 1.0.0)\n colored (1.2)\n cri (2.15.1)\n csv (default: 1.0.0)\n date (default: 1.0.0)\n deep_merge (1.0.1)\n did_you_mean (1.2.0)\n etc (default: 1.0.0)\n ethon (0.9.0)\n facter (3.12.0, 2.5.1)\n faraday (0.9.1)\n faraday_middleware (0.9.1)\n faraday_middleware-multi_json (0.0.6)\n fast_gettext (1.1.2)\n fcntl (default: 1.0.0)\n ffi (1.9.10)\n fiddle (default: 1.0.0)\n fileutils (default: 1.0.2)\n gettext (3.2.2)\n gettext-setup (0.28)\n hiera (3.4.5)\n hiera-eyaml (2.1.0)\n highline (1.6.21)\n hocon (1.2.5)\n httpclient (2.8.3)\n io-console (default: 0.4.6)\n ipaddr (default: 1.2.0)\n json (default: 2.1.0)\n locale (2.1.2)\n log4r (1.1.10)\n minitar (0.6.1)\n minitest (5.10.3)\n multi_json (1.13.1, 1.11.0)\n multipart-post (2.0.0)\n net-ssh (4.2.0)\n net-telnet (0.1.1)\n openssl (default: 2.1.0)\n pe_backup_tools (1.0.2.9.ge843f43)\n power_assert (1.1.1)\n psych (default: 3.0.2)\n puppet (6.0.2)\n puppet-resource_api (1.6.0)\n puppet_forge (2.2.8)\n puppetserver-ca (1.1.1)\n r10k (3.0.2)\n rake (12.3.0)\n rdoc (default: 6.0.1)\n rugged (0.25.1.1)\n scanf (default: 1.0.0)\n sdbm (default: 1.0.0)\n semantic_puppet (1.0.2, 1.0.1)\n stringio (default: 0.0.1)\n strscan (default: 1.0.0)\n test-unit (3.2.7)\n text (1.3.1)\n trollop (2.1.2)\n typhoeus (1.0.2)\n webrick (default: 1.4.2)\n xmlrpc (0.3.0)\n zlib (default: 1.0.0)\n [root@pe-201814-master puppet-enterprise-2019.0.0-el-7-x86_64]# /opt/puppetlabs/server/bin/puppetserver gem list\n * \n ** \n *** LOCAL GEMS ***\n\ndid_you_mean (default: 1.0.1)\n fast_gettext (1.1.2)\n gettext (3.2.2)\n hiera-eyaml (2.1.0)\n highline (1.6.21)\n hocon (1.2.5)\n jar-dependencies (default: 0.3.12)\n jruby-openssl (0.9.21 java)\n jruby-readline (1.2.2 java)\n json (1.8.3 java)\n locale (2.1.2)\n minitest (default: 5.4.1)\n net-telnet (default: 0.1.1)\n power_assert (default: 0.2.3)\n psych (2.2.4 java)\n rake (default: 10.4.2)\n rdoc (default: 4.2.0)\n semantic_puppet (1.0.2)\n test-unit (default: 3.1.1)\n text (1.3.1)\n trollop (2.9.9)\n [root@pe-201814-master puppet-enterprise-2019.0.0-el-7-x86_64]# puppet --version\n 2018-10-09 20:29:04.486015 WARN puppetlabs.facter - locale environment variables were bad", "created": "2018-10-09T21:38:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I think we discovered this issue is specific to PE because the shared gem directory containing {{multi_json}} and others, wasn't included in puppetserver's gem path. It was fixed in https://github.com/puppetlabs/pe-puppet-server-extensions/commit/c27f9a9432c853b121d2e61884f89a9b434a1e6f, which should land in the next 2019.0.x release. /cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]", "created": "2018-10-09T23:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yeah that sounds right.", "created": "2018-10-10T09:04:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ahh, yes. I looked over the customer's issue and, while we shipped that configuration update in 2019.0.0, we don't manage the setting via Puppet itself. Consequently during an upgrade the configuration file was not updated if the user has customized any other parts of the file.\n\nSo new installs should be fine but upgrades will most likely not get the new gempath. Our own upgrade testing probably didn't catch it because the default values that we manage in server's configuration files matches the defaults we ship with.\n\nThis will probably affect most users upgrading PE to 2019.0.0. The work around is to manage the setting to be the correct value if not manually. (I assume we'll need to bring this under managed asap). In Puppet code it would look something like:\n{code}\nhocon_setting { \"correct gempath\":\n  ensure  => present,\n  path    => '/etc/puppetlabs/puppetserver/conf.d/pe-puppet-server.conf',\n  setting => 'jruby-puppet.gem-path',\n  value   => [\n    '${jruby-puppet.gem-home}',\n    '/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems',\n    '/opt/puppetlabs/puppet/lib/ruby/vendor_gems'],\n}\n{code}\n\nI'll file a PE ticket for the issue.", "created": "2018-10-10T09:05:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Unfortunately, using the hocon_setting or pe_hocon_setting resources won't work due to the HOCON substitution, \"${jruby-puppet.gem-home}\":\n\n{noformat}\n# puppet apply <<EOF\npe_hocon_setting { \"correct gempath\":\n  ensure  => present,\n  path    => '/etc/puppetlabs/puppetserver/conf.d/pe-puppet-server.conf',\n  setting => 'jruby-puppet.gem-path',\n  value   => [\n    '${jruby-puppet.gem-home}',\n    '/opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems',\n    '/opt/puppetlabs/puppet/lib/ruby/vendor_gems'],\n}\nEOF\n\nNotice: Compiled catalog for pe-201814-master.puppetdebug.vlan in environment production in 0.18 seconds\nError: /Stage[main]/Main/Pe_hocon_setting[correct gempath]: Could not evaluate: need to Config#resolve, see the API docs for Config#resolve", "created": "2018-10-11T16:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing this in favor of the PE ticket. Planning to look into what's going on with the pe-hocon types, seems like they may be buggy.", "created": "2018-10-11T17:15:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm able to get the hocon substitution to work fine for me. Going to move forward with adding this to the PE installer and see if it behaves correctly.", "created": "2018-10-19T09:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:7e524d50-cfa9-44c1-9d72-f30ab841ddf9], you set the zendesk ticket count to 1. I'm curious how that's possible as we thought this was only an issue when running the server from source (given the fix last year in PE). Do we have customers that run from source now or are still on affected versions?", "created": "2019-10-28T12:38:00.000000"}, {"author": "557058:7e524d50-cfa9-44c1-9d72-f30ab841ddf9", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] the zendesk plugin uses my account currently to make those updates, someone must have connected this ticket in Jira to a zendesk ticket, and then removed it, since there is no connected\u00a0 zendesk ticket anymore.\u00a0", "created": "2019-10-28T15:55:00.000000"}], "components": [], "created": "2018-09-26T17:08: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@5409d32a"}, {"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 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|hyl1u7:"}, {"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": "32322,32432"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_87623409_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2407048_*|*_10005_*:*_1_*:*_1206423538"}], "description": "If the {{multi_json}} gem is missing or loading fails, such as when running puppetserver from source, puppetserver will fall back to using the java based [{{json}} gem|https://github.com/flori/json/tree/master/java/src/json/ext]. When the agent makes file metadata search requests, the server will fail to serialize the array of FileMetadata objects as JSON:\n\n{noformat}\n2018-09-26 15:13:23,401 ERROR [qtp2057041754-28] [puppetserver] Puppet Could not render_multiple to Puppet::Network::Format[json]: undefined method `delete' for #<JSON::Ext::Generator::State:0x2a1c8b21>\n/Users/josh/work/puppet/lib/puppet/util/json.rb:67:in `dump'\n/Users/josh/work/puppet/lib/puppet/network/format_support.rb:105:in `to_json'\njson/ext/GeneratorMethods.java:80:in `to_json'\n/Users/josh/work/puppet/lib/puppet/util/json.rb:68:in `dump'\n/Users/josh/work/puppet/lib/puppet/network/formats.rb:130:in `render_multiple'\n/Users/josh/work/puppet/lib/puppet/network/format_support.rb:26:in `render_multiple'\n/Users/josh/work/puppet/lib/puppet/network/http/api/indirected_routes.rb:168:in `block in do_search'\n/Users/josh/work/puppet/lib/puppet/network/http/api/indirected_routes.rb:199:in `block in first_response_formatter_for'\norg/jruby/RubyEnumerable.java:643:in `find'\n/Users/josh/work/puppet/lib/puppet/network/http/api/indirected_routes.rb:197:in `first_response_formatter_for'\n/Users/josh/work/puppet/lib/puppet/network/http/api/indirected_routes.rb:167:in `do_search'\n{noformat}\n\nAnd then the server will fallback to PSON.\n\nFor reasons I don't understand, the call to {{Array#to_json}} calls into {{GeneratorMethods.java:80}} and that *somehow* calls back into {{FormatSupport#to_json:105}} passing in {{JSON::Ext::Generator::State}} as the {{options}}, instead of a {{Hash}}.\n\nThis issue doesn't occur when installing puppetserver from packages, since it uses the {{multi_json}} gem from the puppet-agent package.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15938", "fixedVersions": [], "id": "15938", "issueType": "Bug", "key": "SERVER-2336", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Duplicate", "resolutionDate": "2018-10-11T17:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet::Util::Json.dump of an array fails when multi-json is missing", "timeSpent": "PT0S", "updated": "2021-09-03T10:28:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2018-09-26T09:28: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@34c4169f"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1xb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15611_*|*_10007_*:*_1_*:*_1181679480_*|*_3_*:*_2_*:*_1112748201_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2381979746_*|*_10005_*:*_1_*:*_38159"}], "description": "Currently the {{LocalCertificateAuthority}} class of the puppetserver-ca gem is an awkward hybrid of a class and a collection of functions. Although it's supposed to represent a CA capable of creating certs offline, it doesn't load or store any CA state. This made sense when we were mostly using it to generate CA files, but with the new use case of loading existing CA files and using them to do further CA tasks, it's more awkward. We should refactor the class to store CA certs and keys for use between its methods.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16574", "fixedVersions": [], "id": "16574", "issueType": "Improvement", "key": "SERVER-2335", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-11-19T11:29:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Refactor LocalCertificateAuthority of puppetserver-ca to load its own CA state", "timeSpent": "PT0S", "updated": "2018-11-19T11:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-09-25T20:06:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{generate --ca-client}} command makes sure the server isn't running before generating certs"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52645d8c"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1uv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_18964275_*|*_1_*:*_1_*:*_16200_*|*_10007_*:*_1_*:*_85393793_*|*_3_*:*_1_*:*_767631541_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1105237125"}], "description": "We recently added a flag to the {{generate}} command that allows a user to generate a CA client cert offline. We should update this flag to check that the server is not running before generating the certs, to ensure that we can't accidentally wind up with a race condition where the server signs a cert at the same time we do, and a serial number gets lost.\n\nIt might be that this work will also enable us to fail more gracefully in general when the server isn't running. We should look for a general-purpose way of improving both these cases.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15163", "fixedVersions": [], "id": "15163", "issueType": "Improvement", "key": "SERVER-2334", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-18T17:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make CA CLI check that server is offline before generating offline certs", "timeSpent": "PT0S", "updated": "2018-10-25T10:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't know who would do this work or if this is even advisable taking into account DOCs roadmap. Hopefully [~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1] can weigh in on whether this should be done, and if so, who should do it.", "created": "2018-09-25T12:18:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "I do think this is a very important. I'll work with my team to find a writer to take it on. It's going to have to be after Tuesday though, when the z release goes out.\u00a0\u00a0", "created": "2018-09-25T17:27:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "[~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]\u00a0- this is the bigger picture issue that I mentioned. Can you work with Justin, and I can help you on the docs side with how things work with generated content (if it comes up) and generally working with server docs.", "created": "2018-10-01T12:05:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1] and [~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1], we were reviewing some of the docs today that the community was finding during the excitement around Puppetize live and were wondering if we could, pull the pages of the \"SSL and Certificates\" section in the left hand nav under ownership of the puppetserver repo.\n\nMost of the information there is still technically correct but lists things that are possible but not necessarily recommended alongside, without differentiation, things that are strongly encouraged. We'd love to have the ability to sit down and re-align those docs with the current best practices going forward. We also want a landing page that ties together the disparate docs for CA workflows, currently to understand how the CA works you need to jump between the HTTP API, the SSL and Certificates' pages, and several Puppet Server specific pages.", "created": "2018-10-09T12:08:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] - As mentioned, I would love to improve the docs as you describe, whether we do that where they are now, or move them to the puppetserver repo. Let's have a quick chat about this. I'll set up some time for the three of us.\u00a0", "created": "2018-10-09T17:56:00.000000"}, {"author": "557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1", "body": "[~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1] - as we discussed, if you could help with the following:\n * Move the CA v1 API\u00a0endpoint docs to the server repo ([https://puppet.com/docs/puppet/5.5/http_api/http_certificate.html]), but have them remain in the HTTP API\u00a0nav as links. And for these to also be linked from the Server docs index/nav.\u00a0\n * Have the metrics, status, admin, and server-only API endpoints docs (all located in the Puppet Server docs ([https://puppet.com/docs/puppetserver/6.0/index.html]) to\u00a0also be linked in the HTTP API section nav as well.\n\nThanks!", "created": "2018-10-15T09:47:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] - the\u00a0CA v1 API\u00a0endpoint docs are autogenerated from Puppet code. So, diverting the pages to the server repo would take some work and might not really be appropriate.\u00a0\n\nDo you want to add them to the Server docs TOC? That I can do in a fairly straightforward way. But moving the content will be tricky.\n\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2018-10-17T16:24:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think linking to these both from the Puppet Server TOC, in the APIs section, and from our new section \"Certificate Authority and SSL\", might be good. I am a little curious how that autogeneration is still working in Puppet 6, since all of the code lives in Clojure now... do you know what mechanism is generating those?", "created": "2018-11-02T09:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Looks like those pages are actually created manually, sourced from pages like https://github.com/puppetlabs/puppet/blob/master/api/docs/http_certificate.md in the puppet repo. So I think they can be pretty easily moved into Puppet Server, and should be since none of that code lives in Puppet anymore. I'll look into doing that.\n\nThat should involve deleting them from Puppet, adding them to Puppetserver repo, and maybe editing something here: https://github.com/puppetlabs/puppet-docs/blob/master/lib/puppet_references/puppet/http.rb, according to Garrett (maybe deleting that file?).", "created": "2018-11-02T10:57:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "This page appears to be one of the pages that we pull into the docs:\u00a0[https://github.com/puppetlabs/puppet/blob/master/api/docs/http_certificate.md]\u00a0(not one of the sources, but the source) About 30 generated reference pages get pulled into the puppet-docs repo via rake command (that we run) and then we manually copy them where they go in the docs hierarchy. So if you are moving the handful of pages that are now managed by Puppet Server, which makes sense to do:\n * Like you said, remove the Puppet versions, so we don't run the risk of accidentally pulling them into the docs.\n * Make sure we know when there are changes, so we update the published docs. An option is that we could try to generate this page out of puppet server, I just don't know the ins and outs of setting that up.\n\nI'll make a PR to add them to the Puppet Strings documents area.\n\n\u00a0", "created": "2018-11-06T14:59:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "The four pages in the HTTP CA pages are now in the Puppet Server git repo. Documentation area.\u00a0", "created": "2018-11-14T18:05:00.000000"}], "components": [], "created": "2018-09-25T12:16: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@5c6418ad"}, {"fieldName": "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": "DOCUMENT-925"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2gf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_84001_*|*_3_*:*_1_*:*_1928898337_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1712756441_*|*_10006_*:*_1_*:*_702771414"}], "description": "I don't see the {{puppet-ca}} endpoint documented in {{puppetserver/documentation/}} where Puppet Server specific documentation lives, though I see a bunch of CA specific improvements and caveats that are not probably on the main path users go through our documentation. Now that we've consolidated our CA implementations into the one that lives within Puppet Server should we move the puppet-ca endpoint docs into the Puppet Server repo and work its caveats and features into the main docs?", "epicLinkSummary": "Overhaul Puppet Server CA docs", "estimate": "PT0S", "externalId": "16573", "fixedVersions": [], "id": "16573", "issueType": "Task", "key": "SERVER-2333", "labels": [], "originalEstimate": "PT0S", "parent": "54654", "parentSummary": "Overhaul Puppet Server CA docs", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-11-14T18:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Take on puppet-ca endpoint docs", "timeSpent": "PT0S", "updated": "2018-11-14T18:05:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We are no longer translating officially, so adding more tooling now seems low priority.", "created": "2019-05-21T11:01:00.000000"}], "components": [], "created": "2018-09-24T11:15: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@7f887624"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzq1z3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_25996_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_20648745252"}], "description": "We should look into adding i18n tooling and translation to the puppetserver-ca gem. Because it runs in its own process, we probably won't have to worry about weird interactions with Puppet, so it may be appropriate to just use the gettext-setup gem. We should see what our other standalone Ruby libraries are doing these days. We might be able to reuse some of their tooling and automation.\n\nThen we should talk to the i18n folks about getting it hooked up to Transifex and in the translation rotation.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16571", "fixedVersions": [], "id": "16571", "issueType": "Task", "key": "SERVER-2332", "labels": ["i18n"], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2019-05-21T11:01:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add i18n to the CA CLI gem", "timeSpent": "PT0S", "updated": "2019-05-21T11:01:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Linking SERVER-2321 because if we ship ca.conf in OSP for settings like subject-alt-names, that error message should be updated.", "created": "2018-09-21T17:57:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please provide release notes for this issue if needed, thanks!", "created": "2018-09-27T08:40:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "release note added.", "created": "2018-10-01T22:23:00.000000"}], "components": [], "created": "2018-09-21T17:29:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* puppetserver FOSS installs have a default ca.conf"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@31def6d8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzq16f:"}, {"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": "Puppet Server will now create a default `ca.conf` file when installed, both in FOSS and PE. CA settings (e.g. `allow-subject-alt-names`) should be configured in the `certificate-authority` section of this file."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_242369946_*|*_1_*:*_1_*:*_59769_*|*_10007_*:*_1_*:*_8749659_*|*_3_*:*_1_*:*_237091676_*|*_5_*:*_1_*:*_448651778_*|*_6_*:*_1_*:*_0"}], "description": "Puppet 6 added several settings to the {{certificate-authority}} section of Puppet Server's config. Previously in FOSS we were not creating a {{ca.conf}} file, even though the documentation referenced one. We should add one to be shipped in FOSS (one is already created when installing PE) that has the important settings commented out with their defaults.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17170", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.1"], "id": "17170", "issueType": "Task", "key": "SERVER-2327", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-27T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Start shipping a ca.conf file in FOSS", "timeSpent": "PT0S", "updated": "2018-10-22T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think this may actually be a very simple bug, where we are updating the {{ps-version}} to the tag in pe-pse, but never committing the change. So when we kick the pe-pse pipeline, it just pulls in whatever version of Puppet Server it was using before (pretty much always a voom build), instead of the new tag.", "created": "2018-10-08T11:39:00.000000"}], "components": [], "created": "2018-09-20T17:04:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Server release pipeline promotes the tag into PE instead of a voom build"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2ae31c3a"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1z3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_269803957_*|*_1_*:*_1_*:*_38098_*|*_10007_*:*_1_*:*_8658847_*|*_3_*:*_1_*:*_748003_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_353836817_*|*_10005_*:*_1_*:*_1181586724"}], "description": "Currently the release pipeline will correctly tag and build the tagged version, but it then does a voom build of that and promotes that voom ref into PE instead of the tag. We should make it promote the tag instead.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "14828", "fixedVersions": [], "id": "14828", "issueType": "Task", "key": "SERVER-2326", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-10-11T17:08:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make the release pipeline promote the tag instead of a voom build", "timeSpent": "PT0S", "updated": "2018-10-11T17:08:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "created": "2018-09-20T02:47:00.000000", "name": "2018-09-20-104536_1552x779_scrot.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10670"}], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:97578a32-3955-4c5c-939e-58a878437b49] any input on whether we should fix this thing or rip it out?", "created": "2018-10-12T11:36:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "Oh please please please don't rip it out :(", "created": "2018-10-12T11:56:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "I think that's a product prioritization call.\n\nI don't believe the experimental dashboard heavily used, and for customers I've worked with who run at a scale where digging deep into Puppet Server performance becomes necessary we recommend https://github.com/puppetlabs/best-practices/blob/master/puppet-enterprise-metrics-collection.md. That is, gathering and visualizing much more than the experimental dashboard presents.\n\nThe potential product value is in providing _some_ information out-of-the-box.\n\n[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] or [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] might provide more CS context. At the end of the day it's probably an investment call for a Product owner/manager.", "created": "2018-10-12T12:41:00.000000"}, {"author": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "body": "uhm, but the suggestions in that file are all for PE only, the experimental dashboard is opensource... I'm not aware of any working ad hoc solution to display at least a few metrics from open source puppetserver besides the dashboard. The graphite output is IMO not easy to use and JMX is slow.", "created": "2018-10-12T12:48:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "The Puppet Server dashboard was an experimental feature that was never fully finished, and has been slowly bitrotting for a while now. The main barrier I see to investing in it is that the work is expended to re-invent a wheel that has been pretty well nailed by Grafana.\n\n[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] Would a module that configures Grafana to display these metrics, such as https://github.com/puppetlabs/puppet_metrics_dashboard , fill the need? Or does having this functionality in-process provide benefits that make a strong case for the re-creation of functionality covered by external tools?", "created": "2018-10-12T12:49:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "IMO the dashboard is of very limited use because it doesn't store any historical data.  When debugging we care about trends and this dashboard doesn't provide a long enough timeline to identify trends.  \n\n[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] I highly recommend you try out the best-practice Reid pointed to and let us know if you still think this dashboard needs to exist.  ", "created": "2018-10-12T12:49:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Yup, access to historical metrics is also hugely important. Opening the dashboard and seeing that you are out of free JRubies may explain why Puppet Server is unresponsive, but it's nothing like looking back in time and seeing that catalog compilation times jumped 10x at 8:30 in the morning allowing you to zero in on a code change that had very bad performance.", "created": "2018-10-12T12:59:00.000000"}, {"author": "557058:97578a32-3955-4c5c-939e-58a878437b49", "body": "[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] the document I linked does say Puppet Enterprise in it, but the modules it references, especially puppet_metrics_collector, work just as well with open source Puppet Server and PuppetDB.", "created": "2018-10-12T13:43:00.000000"}, {"author": "5a8ddd3e21870439aa9195e5", "body": "[~accountid:557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68] is this still on your radar to do or what's the status of it? Thank you.", "created": "2018-10-16T15:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Sounds like we might not need to fix it, and maybe should file a ticket to remove all of this. For now going to at least remove the fix version.", "created": "2018-10-17T11:17:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "quick CC [~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953] [~accountid:557058:9f6ff9a9-4f34-4d8d-a759-5b36bf88ecd1]", "created": "2018-11-14T17:10:00.000000"}, {"author": "557058:c9b48d3b-3b16-4fba-80cb-daf19743b953", "body": "Please file a docs ticket or subtask to remove developer dashboard info from docs if we decide to pull this feature. ", "created": "2018-11-15T08:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We removed this dashboard recently.", "created": "2019-01-17T17:41:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Filed DOC-4223 to remove the docs. CC [~accountid:557058:c9b48d3b-3b16-4fba-80cb-daf19743b953]", "created": "2019-08-19T11:57:00.000000"}], "components": ["Puppet Server"], "created": "2018-09-20T02:52: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@6b9149aa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1vb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_24654041_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_7975430085_*|*_10006_*:*_1_*:*_2338453613"}], "description": "Hi,\nmost of the time my dashboard doesn't show any data, only questionmarks. There are agents hitting the server and that is working fine, just no metrics :(. I'm not sure how I should debug this, any help is appreciated. I've got 6 puppetservers running and all show this behaviour. ", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17169", "fixedVersions": [], "id": "17169", "issueType": "Bug", "key": "SERVER-2324", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:9a0622ba-116b-4661-81b3-6a2a72bf7d68", "resolution": "Won't Fix", "resolutionDate": "2019-01-17T17:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver 5.3.5 doesn't show data in the experimental dashboard", "timeSpent": "PT0S", "updated": "2019-08-19T11:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-09-19T14:38:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 auth rules for {{certificate_status}} and {{certificate_statuses}} allowing access to them via a speical auth extension\n* Add said auth extension to master cert generated by the server"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a137e06"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1zz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_146090200_*|*_1_*:*_1_*:*_68295_*|*_10007_*:*_1_*:*_15550153_*|*_3_*:*_1_*:*_1475478_*|*_5_*:*_1_*:*_1735340468_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1113499203"}], "description": "The new CA CLI needs access to the {{certificate_status(es)}} endpoint. In Puppet Server 5, this endpoint is currently blocked under a deny-all rule in tk-auth. In Puppet 6 we made it accessible to a certificate with a special auth extension, then adding this extension to the master cert that is generated by Puppet Server. We should backport these improvements to Puppet Server 5 so that the gem is fully usable out of the box.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15161", "fixedVersions": ["SERVER 5.3.6"], "id": "15161", "issueType": "Improvement", "key": "SERVER-2323", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-24T11:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport CA CLI auth extension for master cert", "timeSpent": "PT0S", "updated": "2018-10-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-09-19T14:30:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Server 5 has\n* an {{allow-subject-alt-names}} setting\n* an {{allow-authorization-extensions}} setting"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2aaf5445"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1zr:"}, {"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": "We have added two settings to Puppet Server's CA configuration: `allow-subject-alt-names` and `allow-autorization-extensions`. These are false by default. When set to true, they allow CSR with subject alt names or special auth extensions to be signed by the puppetserver CA API. These flags are needed to sign such certs via `puppetserver ca sign` command, which replaces `puppet cert` in Puppet 6, because the new command signs certs via the CA API."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_339620269_*|*_1_*:*_1_*:*_12049_*|*_10007_*:*_1_*:*_88560381_*|*_3_*:*_1_*:*_22985885_*|*_5_*:*_1_*:*_1368658099_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1192627947"}], "description": "We are including the puppetserver CA CLI gem in Server 5 builds so people can migrate away from the deprecated {{puppet cert}}. However, the puppetserver cert signing code doesn't currently support signing certs with SANs or auth extensions in Server 5. In Server 6 we introduced two settings, {{allow-subject-alt-names}} and {{allow-authorization-extensions}} to the {{certificate-authority}} section of the server config. We should backport these settings to Server 5 to fully enable signing certs with the new CA CLI. Both should be false by default.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16876", "fixedVersions": ["SERVER 5.3.6"], "id": "16876", "issueType": "Improvement", "key": "SERVER-2322", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-24T11:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport advanced cert signing settings to Server 5", "timeSpent": "PT0S", "updated": "2018-10-24T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We ship a {{ca.conf}} in FOSS now too, so it's appropriate to just update this file path everywhere.", "created": "2021-02-22T13:03:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm not sure how I feel about returning a link in the error body from an HTTP request... Is that a thing we/people do?", "created": "2021-02-22T13:04:00.000000"}], "components": [], "created": "2018-09-19T12:55: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@1fe73b68"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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": "Manual 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|hzpyyf:"}, {"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": "22/Feb/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1354768666_*|*_1_*:*_1_*:*_32241533875_*|*_10007_*:*_1_*:*_38119521_*|*_5_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_44400506332"}], "description": "*Puppet Version: 6.0.0*\n *Puppet Server Version:\u00a02019.0.0.16*\n *OS Name/Version: Centos 7.2*\n\nAs a PE user, I execute \"puppetserver ca generate --certname test.com --subject-alt-names test2.com\" I get an error about signing the certificate (expected), however the error points me to a FOSS configuration file which doesn't exist in PE.\n\n*Desired Behavior:*\n\nThe output should point me to ca.conf, not puppetserver.conf (doesn't exist in PE)\n\nA link to a doc on the allow-subject-alt-names setting would also be nice.\n\n*Actual Behavior:*\n{noformat}Successfully submitted certificate request for test.com\nError:\n When attempting to sign certificate request 'test.com', received\n code: 409\n body: CSR 'test.com' contains subject alternative names (DNS:pe-201813-master.puppetdebug.vlan, DNS:test2.com), which are disallowed. To allow subject alternative names, set allow-subject-alt-names to true in your puppetserver.conf file, restart the puppetserver, and try signing this certificate again.{noformat}", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "16872", "fixedVersions": ["SERVER 6.15.3", "SERVER 7.1.0"], "id": "16872", "issueType": "Bug", "key": "SERVER-2321", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Done", "resolutionDate": "2021-03-10T16:17:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "output of puppetserver ca generate when using --subject-alt-names", "timeSpent": "PT0S", "updated": "2021-04-09T15:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So do we need this to apply to certs beyond just the master cert? There had been some discussion of the ability to create a \"CA client\" cert. However, this raises some interesting questions, mostly around alt names. The master's host cert is supposed to get some alt names by default. Is this true for every cert we might want to use as a \"CA client\" (the console cert specifically was mentioned)? Are they the same defaults everywhere? If not, it seems we can either:\n1) make this its own subcommand that can accept something like a \"master\" flag that adds the default alt names\n2) require users to always supply alt names explicitly\n[~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330] thoughts?", "created": "2018-09-20T15:07:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please provide release notes for this issue if needed, thanks!", "created": "2018-09-27T08:40:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "Release note added.\u00a0", "created": "2018-10-01T22:29:00.000000"}], "components": [], "created": "2018-09-19T12:37:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca}} has a way to generate the master cert standalone, offline"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7242fa11"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1sv:"}, {"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 `puppetserver ca generate` command now has a flag `--ca-client` that will generate a cert offline (not via the CA API) that is authorized to talk to that API. This can be used to regenerate the master's host cert, or create certs for distribution to other CA nodes that need administrative access to the CA (e.g. the ability to sign and revoke certs). This command should only be used while the Puppet Server is offline, to avoid conflicts with cert serials."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84179687_*|*_1_*:*_1_*:*_21578_*|*_10007_*:*_1_*:*_142910103_*|*_3_*:*_1_*:*_357422103_*|*_5_*:*_1_*:*_448667438_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_94081234"}], "description": "Currently, the CA CLI can only generate the master cert as part of generating the whole CA. It can generate other certificates for other certnames by using the CA API, but this won't work if the master cert isn't present. We should have a special command for just generating the master cert, when the CA is already set up but before the server is running. This might be good as a flag to the {{generate}} action, or as its own action.\n\n---\n\nImplemented as a --ca-client flag: `puppetserver ca generate --certname foo --ca-client`", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15160", "fixedVersions": ["SERVER 6.0.1"], "id": "15160", "issueType": "New Feature", "key": "SERVER-2320", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Blocker", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-27T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add a CA CLI command for generating a master cert offline", "timeSpent": "PT0S", "updated": "2018-10-02T13:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey, [~accountid:62438a418678e9007059bcca], thanks for the ticket and calling out our oversight in the release notes. We released JRuby as default in PE and we missed pulling those caveats over to FOSS when 6 came out.\n\nhttps://puppet.com/docs/pe/2018.1/pe_enhancements.html#jruby-2018-1-0\n\nWe don't call out the Metaspace requirements however in our PE docs because we don't manage that configuration explicitly.\n\nWe'll try to get the FOSS docs updated right away!", "created": "2018-09-19T11:59:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "Thanks for the heads up [~accountid:62438a418678e9007059bcca]\u00a0- I've added more detail in the release note: [https://puppet.com/docs/puppetserver/6.0/release_notes.html]\u00a0and a known issue:\u00a0https://puppet.com/docs/puppetserver/6.0/known_issues.html#server-side-ruby-gems-might-need-to-be-updated-for-upgrading-with-jruby-17", "created": "2018-09-19T15:14:00.000000"}, {"author": "62438a418678e9007059bcca", "body": "Hi [~accountid:557058:104b5720-714d-4539-b455-df472251ec89], [~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1],\n\nThanks for the quick response.\n\nLooking at the release notes, wouldn't it be better if the caveats about JRuby 9k were in the JRuby 9k bullet point, and not the JRuby jar bundling bullet point? And I think a lot of the explanation could just be deferred to the known issues page. E.g.:\n\n* Puppet Server now bundles its {{JRuby jar}} inside the main uberjar. This means the {{JRUBY_JAR}} setting is no longer valid, and a warning will be issued if it is set. (SERVER-2157)\n* Puppet Server 6.0 now uses JRuby 9k, which implements version 2.3 of the Ruby language. Server-side gems that were installed manually with the {{puppetserver gem}} command or using the {{puppetserver_gem}} package provider might need to be updated to work with JRuby 9k. Additionally, if {{ReservedCodeCache}} or\u00a0{{MaxMetaspaceSize}} parameters were set in {{JAVA_ARGS}}, these parameters may need to be adjusted for JRuby 9k. See [Puppet Server: Known Issues|https://puppet.com/docs/puppetserver/6.0/known_issues.html#server-side-ruby-gems-might-need-to-be-updated-for-upgrading-with-jruby-17].  (SERVER-2095)\n\nThoughts?", "created": "2018-09-19T17:14:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "This fix is in - just waiting for a docs build.", "created": "2018-09-20T16:13:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "Added additional info.", "created": "2018-10-01T22:35:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "Thanks [~accountid:557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1], can this be resolved now?", "created": "2018-10-02T13:31:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "yes. thanks [~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578]", "created": "2018-10-02T13:33:00.000000"}], "components": ["DOCS", "Puppet Server"], "created": "2018-09-19T10:48:00.000000", "creator": "62438a418678e9007059bcca", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@536d1207"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzpyvj:"}, {"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": "When upgrading from Puppet Server 5 using JRuby 1.7 (9k was optional in those releases), Server-side gems (those installed manually with `puppetserver gem` command or using the puppetserver_gem package provider) may need to be updated to work with the newer JRuby. In most cases gems do not have APIs that break when upgrading from the Ruby versions implemented between JRuby 1.7 and JRuby 9k, so there may be no necessary updates, but users should be aware. Two notable exceptions are that the autosign gem should be 0.1.3 or later and yarddoc must be 0.9 or later.\n\nUsers outside of lab environments should increase ReservedCodeCache to 512m under normal load. Those users with 6-12 JRuby instances (or a max-requests-per-instance value significantly less than 100k) should run with a ReservedCodeCache of 1G, 12+ JRuby instances in a single server may require 2G or more.\n\nSimilar caveats regarding scaling ReservedCodeCache may apply if users are managing MaxMetaspace."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_369457306_*|*_1_*:*_1_*:*_764026534_*|*_5_*:*_1_*:*_343851_*|*_6_*:*_1_*:*_0"}], "description": "We have a Puppet server with max-active-instances set to 2, running on a VM with 4GiB of memory and 4 CPUs. We set JAVA_ARGS in /etc/sysconfig/puppserver to:\n\n{noformat}\nJAVA_ARGS=\"-Xms1560m -Xmx1560m -XX:MaxMetaspaceSize=256m -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger\"\n{noformat}\n\nThis is a beta Puppet server and always runs the latest puppetserver package available. It serves 37 clients that want to live on the bleeding edge of Puppet.\n\nThis morning, the server automatically upgraded to puppetserver 6.0.0. After it did so, the server refused to start, logging:\n\n{noformat}\nSep 19 12:33:57 server.example.org puppetserver: # java.lang.OutOfMemoryError: Metaspace\n{noformat}\n\nUpping {{MaxMetaspaceSize}} from 256m to 512m resolved this issue, permitting the server to start successfully.\n\nAlmost certainly, this change in resource requirements was due to the move to JRuby 9k. Although the move to JRuby 9k is duly noted in the Puppet Server 6.0.0 release notes, there is no warning whatsoever that Java-related memory tuning parameters may need to be adjusted as a consequence of this change, in either the release notes or the known issues:\n\nhttps://puppet.com/docs/puppetserver/6.0/release_notes.html\nhttps://puppet.com/docs/puppet/6.0/known_issues.html\n\nThe implications of the move to JRuby 9k need to be documented.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15466", "fixedVersions": ["SERVER 6.0.1"], "id": "15466", "issueType": "Bug", "key": "SERVER-2319", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "62438a418678e9007059bcca", "resolution": "Fixed", "resolutionDate": "2018-10-02T13:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver 6.0.0 dies with java.lang.OutOfMemoryError: Metaspace", "timeSpent": "PT0S", "updated": "2018-10-02T13:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Recently got another ticket that would require making CA API changes to complete: https://puppet.atlassian.net/browse/PE-27489.", "created": "2019-10-25T17:11:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T12:21:00.000000"}], "components": ["Puppet Server"], "created": "2018-09-19T09:38: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@4cd8a95f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzpyqn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Oct/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_34673610732_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_74722201971"}], "description": "With the change in\u00a0SERVER-2268, SANs signing is only a global setting. This opens the potential for any client to submit a CSR with SANs that gets signed when\u00a0{{allow-dns-alt-names}} is enabled. This is desirable in some deployments, but not all deployments. In a typical deployment, most of the nodes that require a SAN will be infrastructure nodes so the number of nodes requiring this setting will be low. It would be nice to be able to have {{allow-dns-alt-names}} disabled, but sign a single certificate with SANs with a CLI argument, or API parameter. \n\nIn PE, DNS alt names are suggested for MoMs and Compile Masters: https://puppet.com/docs/pe/2018.1/installing_compile_masters.html#install-compile-masters\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16568", "fixedVersions": [], "id": "16568", "issueType": "New Feature", "key": "SERVER-2318", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "resolution": "Won't Do", "resolutionDate": "2022-03-08T12:21:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add CLI flag to sign CSRs with SANs", "timeSpent": "PT0S", "updated": "2022-03-08T12:21:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": ["CLI"], "created": "2018-09-19T09:29:00.000000", "creator": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "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 \\{{puppetserver ca}} command fails gracefully/prescriptively when the puppetserver service is not running."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6af9d821"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpypz:"}, {"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": "The `puppetserver ca` command will now error gracefully on connection issues and return helpful debugging information."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_177500725_*|*_1_*:*_1_*:*_7119328895_*|*_10007_*:*_1_*:*_74859406_*|*_5_*:*_1_*:*_486642233_*|*_6_*:*_1_*:*_0"}], "description": "The {{puppetserver ca}} command fails with a traceback when the puppetserver service is not running:\n\n{code}\n[root@pe-20190nightly-master ~]# puppetserver ca list --all\nTraceback (most recent call last):\n\t14: from /opt/puppetlabs/server/apps/puppetserver/cli/apps/ca:5:in `<main>'\n\t13: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/cli.rb:89:in `run'\n\t12: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:60:in `run'\n\t11: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/action/list.rb:113:in `get_all_certs'\n\t10: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:215:in `get_certificate_statuses'\n\t 9: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/certificate_authority.rb:253:in `get'\n\t 8: from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/puppetserver-ca-1.0.0/lib/puppetserver/ca/utils/http_client.rb:41:in `with_connection'\n\t 7: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:609:in `start'\n\t 6: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:909:in `start'\n\t 5: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:920:in `do_start'\n\t 4: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:935:in `connect'\n\t 3: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:103:in `timeout'\n\t 2: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/timeout.rb:93:in `block in timeout'\n\t 1: from /opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:936:in `block in connect'\n/opt/puppetlabs/puppet/lib/ruby/2.5.0/net/http.rb:939:in `rescue in block in connect': Failed to open TCP connection to pe-20190nightly-master.puppetdebug.vlan:8140 (Connection refused - connect(2) for \"pe-20190nightly-master.puppetdebug.vlan\" port 8140) (Errno::ECONNREFUSED)\n\n{code}\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15708", "fixedVersions": ["SERVER 6.1.0"], "id": "15708", "issueType": "Improvement", "key": "SERVER-2317", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ea8d8852-0291-4b62-9047-0e4b235efa5d", "resolution": "Fixed", "resolutionDate": "2018-12-13T16:11:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver ca fails with a traceback when the service is not running", "timeSpent": "PT0S", "updated": "2018-12-19T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Included (but may need to be pulled out from) here: https://github.com/puppetlabs/puppetserver/pull/1866", "created": "2018-10-30T17:15:00.000000"}], "components": [], "created": "2018-09-17T13:21: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@46fdbd6f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpx2n:"}, {"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": "(With this ticket resolved we were able to begin testing Java 11 in travis-ci which gave us the confidence to announce \"experimental\" support for Java 11).\n\nPuppet Server now has experimental support for Java 11 (and all Java versions between it and 8, inclusive). This is tested by relatively comprehensive low level tests but has not gone through high level, packaged acceptance tests. Consequently, we consider this support \"experimental\" with full support coming later in 2019 for whatever is the latest long term supported version of Java."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_14641_*|*_1_*:*_1_*:*_275391591_*|*_5_*:*_1_*:*_4222419417_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_3519383811"}], "description": "Puppet Server's test suite makes use of HexBinaryAdapter [here|https://github.com/puppetlabs/puppetserver/blob/master/test/integration/puppetlabs/services/jruby/request_handler_test.clj#L4] we will need to remove that from the test because it will be removed in Java 11.\n\n\u00a0\n\nThis was part of, and cloned from, the original ticket on Java 11 support, the below work was merged already\n\n\u00a0\n\n----\n\n\u00a0\n\nJava 11 will remove modules deprecated in Java 9 that we currently use (indirectly) to run puppetserver.\n\n\u00a0\n We need to update our version of liberator to the version here:\n\n[https://github.com/puppetlabs/clj-parent/pull/114]\n\nThat PR includes discussion of how to update Puppet Server's code and tests when we upgrade.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14827", "fixedVersions": ["SERVER 6.1.0"], "id": "14827", "issueType": "Improvement", "key": "SERVER-2315", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-10-31T11:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Fix tests for Java 11", "timeSpent": "PT0S", "updated": "2018-12-19T07:21:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "How about if we accepted a list of node names on stdin (one per line) or the ability to specify shell wildcards? Note we removed {{puppet ca}} in puppet 6, so we probably want to implement this in the {{puppetserver ca}} CLI. Moving to the SERVER project.", "created": "2018-09-20T16:07:00.000000"}, {"author": "557058:750ff3bd-7564-4d8a-b480-b500b85be583", "body": "Node names on stdin would work great. That's probably more convenient.", "created": "2018-09-25T19:24:00.000000"}, {"author": "557058:750ff3bd-7564-4d8a-b480-b500b85be583", "body": "I take it back. The non-standard format keeps biting me, and it's more than just piping things from stdin. I filed a more general ticket: PE-25462.", "created": "2018-11-01T15:34:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "{{puppetserver ca clean}} does currently accept a list of certnames, though under the {{--certname}} flag. Going to close this and leave the other one open.", "created": "2019-09-27T16:51:00.000000"}], "components": [], "created": "2018-09-14T15:50:00.000000", "creator": "557058:750ff3bd-7564-4d8a-b480-b500b85be583", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@382115b4"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpvv3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_32662857293_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_5057"}], "description": "It would be super helpful to be able to destroy multiple pending certs at once, for example:\n\n{code}\nsudo puppet ca destroy bad-host.example.net other-bad-host.example.net\n{code}\n\nWe end up getting a _lot_ of bad CSRs, and it would be very expensive to fix on the other end. We currently have 450+. I end up dong things like:\n\n{code}\nsudo puppet ca list | awk '/bad-host/ {print$1}' | xargs -n 1 sudo puppet ca destroy\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16252", "fixedVersions": [], "id": "16252", "issueType": "Improvement", "key": "SERVER-2325", "labels": ["customer0"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:750ff3bd-7564-4d8a-b480-b500b85be583", "resolution": "Fixed", "resolutionDate": "2019-09-27T16:51:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ability to destroy multiple CSRs at once", "timeSpent": "PT0S", "updated": "2019-09-27T16:51:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this issue if needed, thanks!", "created": "2018-09-27T08:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This doesn't have any user facing changes, though auditors/SEs will appreciate us shipping a version of Jolokia that doesn't have known security issues (we never leveraged any of the affected parts).\n\n/cc [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]", "created": "2018-09-27T08:54:00.000000"}], "components": [], "created": "2018-09-14T11:48: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@58f3cac2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1fz:"}, {"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": "27/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_84154717_*|*_1_*:*_1_*:*_966981462_*|*_3_*:*_1_*:*_62410671_*|*_5_*:*_1_*:*_448675098_*|*_6_*:*_1_*:*_0"}], "description": "tk-metrics has a meaningful dependency bump that we should get into 6.0.1 and 5.3.7.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15465", "fixedVersions": ["SERVER 5.3.z", "SERVER 6.0.1"], "id": "15465", "issueType": "Task", "key": "SERVER-2314", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-09-27T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Release and promote new version of tk-metrics", "timeSpent": "PT0S", "updated": "2018-10-02T13:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "This is technically a subtask of SERVER-2283, not SERVER-2156.", "created": "2018-09-12T18:11:00.000000"}], "components": [], "created": "2018-09-12T16: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@265474b0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpu8n:"}, {"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_*:*_69206544_*|*_1_*:*_1_*:*_929052_*|*_3_*:*_1_*:*_59750101_*|*_10009_*:*_1_*:*_355018624_*|*_5_*:*_2_*:*_109481926_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_43450"}], "description": "When using a file in {{$module/lib}} as an extra dependency of a task implementation, puppet-server generates the wrong URL to indicate how to download that file. The URL it generates is {{.../file_content/plugins/$module/$filename}}, when it should be {{.../file_content/plugins/$filename}} (without the module name). This causes pxp-agent to fail to run the task.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15463", "fixedVersions": ["SERVER 6.0.0"], "id": "15463", "issueType": "Story Bug", "key": "SERVER-2313", "labels": [], "originalEstimate": "PT0S", "parent": "15932", "parentSummary": "Include file requirements from task metadata in taskinfo", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6361cbfc59c794184bcbd33a", "resolution": "Fixed", "resolutionDate": "2018-09-18T10:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Files in lib/ don't generate the correct URL in task details", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Opened a PR for the merge up here: https://github.com/puppetlabs/puppetserver/pull/1805/files (took the defaultish git message for merges it didn't get the ticket number in the log message)", "created": "2018-09-18T12:34:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Winston PR here: https://github.com/puppetlabs/winston/pull/190", "created": "2018-09-18T12:46:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We released off of our 6.0.x maintenance branch, no branches or pipelines need to be destroyed between now and 6.0.1.", "created": "2018-09-18T12:47:00.000000"}], "components": [], "created": "2018-09-10T15:05:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@630fb978"}, {"fieldName": "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-9122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpscf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2739_*|*_10007_*:*_1_*:*_17909958_*|*_3_*:*_1_*:*_13848_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_682852456"}], "description": "(Initial planned release date: 2018-09-18)\n\n* Update version number in source to point to next snapshot.\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-09-19T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "estimate": "PT0S", "externalId": "15159", "fixedVersions": [], "id": "15159", "issueType": "Task", "key": "SERVER-2312", "labels": [], "originalEstimate": "PT0S", "parent": "24241", "parentSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-09-18T17:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 6.0.0)", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "These have been shipped to http://builds.delivery.puppetlabs.net/puppetserver/6.0.0/ and are in the process of being promoted into PE.\n\nCurrently PE pipelines are failing because of an infrastructure issue... but discussed with Maggie and we don't think that's a blocker to shipping.", "created": "2018-09-18T11:51:00.000000"}], "components": [], "created": "2018-09-10T15:05:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@48b266b3"}, {"fieldName": "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-9122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpsbz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "18/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2552_*|*_3_*:*_1_*:*_2956877_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_676602792"}], "description": "(Initial planned release date: 2018-09-18)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Bump and Tag the candidate SHA once passing\n  * Run the \"Lein Release\" job for the release branch. This job will make the\n     appropriate version bump commits and tag the release SHA.\n* Ensure tagged release version is built, tested and artifacts exist at\n  builds.delivery.puppetlabs.net\n  * This may entail manually promoting into PE again.\n", "duedate": "2018-09-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "estimate": "PT0S", "externalId": "17408", "fixedVersions": [], "id": "17408", "issueType": "Task", "key": "SERVER-2311", "labels": [], "originalEstimate": "PT0S", "parent": "24241", "parentSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-09-18T11:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 6.0.0)", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, the 6.0.x branch has been created and nothing meaningful is in older branches:\n - [6.0.x...5.3.x|https://github.com/puppetlabs/puppetserver/compare/6.0.x...5.3.x] Only contains Puppet submodule bumps.\n - [6.0.x...5.1.x|https://github.com/puppetlabs/puppetserver/compare/6.0.x...5.1.x] Nothing, not even automated submodule bumps (there's been no work on this branch since 5.3.x and master diverged)\n - [6.0.x...2.x|https://github.com/puppetlabs/puppetserver/compare/6.0.x...2.x] Ditto, nothing", "created": "2018-09-17T11:19:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We decided against a release branch, there's not much landing between today and tomorrow (when we expect to release) and we'll want to continue to promote things targeted at 6.0.1 into Johnson after we've seen Johnson go green with 6.0.0.", "created": "2018-09-17T11:21:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "CI pipelines exist for the 6.0.x branch and are promoting into PE. Our last promotion into Johnson was at [966c073|https://github.com/puppetlabs/puppetserver/commit/966c073] which contains everything except SERVER-2313, and some test changes. That is currently going through the pipeline now.", "created": "2018-09-17T11:31:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The final ticket (SERVER-2313) made it into PE as of 2019.0.0-rc2-243-g93fe5b5.", "created": "2018-09-18T09:57:00.000000"}], "components": [], "created": "2018-09-10T15:05:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e5100bd"}, {"fieldName": "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-9122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpsbr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2426_*|*_3_*:*_1_*:*_388034859_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_284666657"}], "description": "(Initial planned release date: 2018-09-18)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-09-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "estimate": "PT0S", "externalId": "17168", "fixedVersions": [], "id": "17168", "issueType": "Task", "key": "SERVER-2310", "labels": [], "originalEstimate": "PT0S", "parent": "24241", "parentSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-09-18T09:57:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 6.0.0)", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Running ticketmatch I see:\n{code}puppetserver justin (6.0.x $) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 5.3.5\nEnter Git To Rev: |master| 84b5888455c3f70d82d05194a1f12eb9bc5f88c7\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER 84b5888455c3f70d82d05194a1f12eb9bc5f88c7| SERVER 6.0.0\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100 23267    0 23158  100   109  59272    278 --:--:-- --:--:-- --:--:-- 59379\n\n...snip...\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.0.0)\n#15561\n#20027\n#22324\nCPR-600\nI18N\nPE-4848,PUP-2999\nPUP-3151\nPUP-3173\nPUP-3268\nPUP-3486\nPUP-3526\nPUP-3644\nPUP-3645\nPUP-417\nPUP-672\nPUP-7732\nPUP-8266\nPUP-8913\nPUP=2563\nREVERT aa7bccf\nSERVER-2133\nSERVER-2237\nSERVER-2239\nSERVER-2283\nSERVER-2287\nSERVER-2302\nSERVER-2313\nTK-426\n----- Unresolved Jira tickets not in git commits -----\nUNRESOLVED ISSUES NOT FOUND IN GIT\nSERVER-974 Open\nSERVER-2171 Developing\n----- Unresolved Jira tickets found in git commits -----\nUNRESOLVED ISSUES FOUND IN GIT\nSERVER-2156 Ready for Review\nSERVER-2231 Ready for CI\n\npuppetserver justin (6.0.x $) \u2016\n{code}\nI've confirmed that \n #15561, #20027, #22324, PE-4848,PUP-2999, PUP-3151, PUP-3173, PUP-3268, PUP-3486, PUP-3526, PUP-3644, PUP-3645, PUP-417, PUP-672, PUP-7732, PUP-8266, and PUP=2563 all come from [this PR|https://github.com/puppetlabs/puppetserver/pull/1706] for SERVER-2172 where we copied over an old CA related test from Puppet including its git history. I'm not going to update the versions in those tickets to include SERVER 6.0.0, because that doesn't make sense.\n\nExcluding the above the \"In Git but not with a SERVER 6.0.0 version\" is:\n CPR-600, PUP-8913, REVERT aa7bccf, SERVER-2133, SERVER-2237, SERVER-2239, SERVER-2283, SERVER-2287, SERVER-2302, SERVER-2313, and TK-426.\n\nPUP-8913 was reverted in the agent, but the server side work can remain and will be shipped in Puppet Server 6.0.0. I've updated the ticket.\n\nREVERT aa7bccf is a reverted merge up that was later fixed, I'm unclear why it's showing up.\n\nSERVER-2133 was shipped in (and has the correct fix version of) SERVER 5.3.0, I don't understand why it's showing up in this list.\n SERVER-2237 (Bionic support) shipped in 5.3.4...\n SERVER-2239 one of two PRs needed for it have landed in 6.0.0, but another needs to land in 6.1.0.\n SERVER-2302 will go out in our next 5.3.z. It had that fix version since it will be version-wise the oldest release to include it, however chronologically 6.0.0 will go out before the next 5.3.z, I've updated it to include both versions.\n\nCPR-600, SERVER-2283, SERVER-2287, SERVER-2313, and TK-426 have been updated with the \"SERVER 6.0.0\" fix version.\n\nIn the other categories I've:\n Unlabeled the fix version from SERVER-974 (Clojure CA) as it was a big bucket for improvements that we wanted to do in 6.0 and beyond.\n SERVER-2171 can't be closed yet as it includes one PE ticket that needs to go in for Johnson (maybe un epic that ticket)??\n Resolved SERVER-2231.\n\n--SERVER-2283\u00a0is the parent of SERVER-2313 and related to\u00a0-SERVER-2156-\u00a0their resolution is blocked on the last commit waiting promotion to PE.\n\n\u00a0\n\nI'll update SERVER-974, break out a new ticket for the 6.1 work of SERVER-2239 (and then close SERVER-22239), similarly break out a new ticket for the non-server work in TK-426, and check in with the tasks team regarding SERVER-2283 and friends.", "created": "2018-09-17T12:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We merged a new PR from Ethan that updates shipping docker bits for 6.0.0 (no code changes), I've updated the tickets as mentioned above and reran:\n{code}\npuppetserver justin (6.0.x $) \u2016 ruby ../ticketmatch/ticketmatch.rb\nEnter Git From Rev: 5.3.5\nEnter Git To Rev: |master| 02bb75ab0e5f4fa5d9030099c791d623f4f2eaaa\nEnter JIRA project: |PUP| SERVER\nEnter JIRA fix version: |SERVER 02bb75ab0e5f4fa5d9030099c791d623f4f2eaaa| SERVER 6.0.0\n\n...snip....\n\n----- Git commits in Jira -----\nCOMMIT TOKENS NOT FOUND IN JIRA (OR NOT WITH FIX VERSION OF SERVER 6.0.0)\n#15561\n#20027\n#22324\nCPR-600\nI18N\nPE-4848,PUP-2999\nPUP-3151\nPUP-3173\nPUP-3268\nPUP-3486\nPUP-3526\nPUP-3644\nPUP-3645\nPUP-417\nPUP-672\nPUP-7732\nPUP-8266\nPUP-8913\nPUP=2563\nREVERT aa7bccf\nSERVER-2133\nSERVER-2237\nTK-426\n----- Unresolved Jira tickets not in git commits -----\nALL ISSUES WERE FOUND IN GIT\n----- Unresolved Jira tickets found in git commits -----\nUNRESOLVED ISSUES FOUND IN GIT\nSERVER-2283 Ready for Review\n{code}\n\nI *think* PUP-8913 and TK-426 are not being shown because they aren't in the SERVER project?? I'm assuming the fixVersion \"SERVER 6.0.0\" has a project specific identifier that doesn't match? AFAICT, they otherwise are correctly closed and have the right version.\n\nThen there's SERVER-2133, SERVER-2237, that shipped in the 5.3 series and I don't know why they're showing up.\n\nAside from the tokens that come in from the moving of the git history of a CA related acceptance test, that leaves SERVER-2283 which was done by the Tasks team and is pending a promotion into PE for resolution.\n\nCurrently everything in PE looks testing related from the {{puppet cert}} -> {{puppetserver ca}} change (not functionality breakage), assuming nothing more shakes out of that work and that we can close SERVER-2283 pending the next promotion, I'm going to update the version number and shelve the Server bits this afternoon for a nightly run through PE with the 6.0.0 version. ", "created": "2018-09-17T13:57:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "SERVER-2283, which is a parent of the task SERVER-2313 (which isn't showing up here but is the sole task in that ticket), was promoted into PE and the last thing waiting resolution before we tag and ship.", "created": "2018-09-18T09:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "6.0.0.SNAPSHOT.2018.09.17T2140 is the dev build with all the bits.", "created": "2018-09-18T09:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "SERVER-2313/SERVER-2283 has passed automated testing and is in \"Ready for Test\" per that teams workflow. Our other automated tests have confirmed it doesn't cause a regression in other parts of the code, and even if doesn't fully complete the work for the feature they're building for Johnson (BOLT-131) additional fixes can go out in 6.0.1.", "created": "2018-09-18T11:01:00.000000"}], "components": [], "created": "2018-09-10T15:05:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@590154ce"}, {"fieldName": "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-9122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpsbj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2510_*|*_3_*:*_1_*:*_391893167_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_284685859"}], "description": "(Initial planned release date: 2018-09-18)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-09-11T00:00:00.000000", "epicLinkSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "estimate": "PT0S", "externalId": "16772", "fixedVersions": [], "id": "16772", "issueType": "Task", "key": "SERVER-2309", "labels": [], "originalEstimate": "PT0S", "parent": "24241", "parentSummary": "Puppet Platform 6.0.0 Release - 2018-09-18\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-09-18T11:01:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 6.0.0)", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:30:00.000000"}], "components": [], "created": "2018-09-10T11:04:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 master cert generated by puppetserver has the CLI tool auth extension"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7270fd81"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1rz:"}, {"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 Puppet master's cert is now authorized to connect to the certificate_status endpoint out of the box. This allows the new CA CLI tool to perform CA tasks via Puppet Server's CA API."}, {"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_*:*_78950555_*|*_1_*:*_1_*:*_11453_*|*_10007_*:*_1_*:*_6566964_*|*_3_*:*_1_*:*_1769459_*|*_5_*:*_1_*:*_683740597_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15608222"}], "description": "In order to talk to the {{certificate_status}} endpoint, the CLI gem needs the cert it uses to have the right authorization extension. The CA generated by the gem via `generate` or `import` already adds this extension to the master's host cert, but Puppetserver's bootstrapping code does not. We need to update Puppetserver to also add this extension to the master cert.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16770", "fixedVersions": ["SERVER 6.0.0"], "id": "16770", "issueType": "Task", "key": "SERVER-2308", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver's CA bootstrapping code to add CLI tool auth extension", "timeSpent": "PT0S", "updated": "2018-09-19T14:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "623cff48b75ca80070575e17", "created": "2018-09-12T00:04:00.000000", "name": "puppetserver_memory.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10966"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the report!\n\nWe haven't experienced this in our test environments but we'll see what we can do to reproduce. --It sounds like it could be related to\u00a0[https://github.com/puppetlabs/jruby-utils/pull/68|https://github.com/puppetlabs/jruby-utils/pull/68]-- \n\n...Actually, I assume you're running with JRuby 1.7 in Puppet Server 5.3? That shouldn't be affected....\n\nWe'll try to schedule some time next week to reproduce. /cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "created": "2018-09-11T09:54:00.000000"}, {"author": "623cff48b75ca80070575e17", "body": "Sorry I forgot to mention that, we are using JRuby 9k with version 5.3.5 (affected) and 5.1.5 (not affected). 2.4.0 and 2.8.1 are still using jruby 1.7.\n\nThe memory usage of the 5.1.5 is also hanging around at the configured maximum of 12GiB while it has a configured max heap of 8GiB, but unlike 5.3.5 it is not exceeding the limit and getting killed.", "created": "2018-09-11T23:58:00.000000"}, {"author": "623cff48b75ca80070575e17", "body": "attached a graph the memory usage pattern. 5.1.5 has constant memory usage after a while, 5.3.5 increases until it gets killed. Both servers use a max-requests-per-instance setting of 200, are configured identically (with exception of a few minor auth.conf differences due to the version) and are using the same base image, so same operating system libraries and java.\n\nWith max-requests-per-instance disabled (set to zero) 5.3.5 is running fine.", "created": "2018-09-12T00:07:00.000000"}, {"author": "623cff48b75ca80070575e17", "body": "Any updates? the issue is still happening in puppetserver 6.0.2", "created": "2019-01-08T03:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Sorry, about that we started to look into this and then it fell through the cracks (we were in the middle of a couple large releases).\n\nWe have seen a considerable amount of codecache and metaspace use with 9k, which grows outside the heap, and is rarely/costly collected if ever, and seems to grow with the number of new JRuby instances spun up (wether as the host scales up in size or more are created with when max-requests are hit).\n\nAside: I believe the issue stems from the JVM's invokedynamic functionality, which creates a custom classes for some forms of dynamic dispatch, which 9k leverages to internally provide some forms of metaprogramming, which we do to a pathalogical degree in our Ruby code.\n\nLonger term, we're evaluating our usage of both JRuby as a runtime and cleaning up our usage of metaprogramming in Ruby, but in the mean time there's a few complimentary things that might help us at least determine if this is your problem.\n\nOne is to include MaxMetaspaceSize in your JAVA_ARGS in addition to ReservedCodeCacheSize and make sure your metaspace + codecache + heap is less than your max ram.\n\nAnother is to tune your max-requests-per-instance.\n\nWe include this as a way to fight environment isolation and potential memory leaks in user code. However both are better dealt with long term by other means. For environment isolation you should refer to our docs on {{puppet generate types}} to isolate type definitons per environment. For memory leaks in user code you may want to find what code is causing the leaks and open an issue with the authors.\n\nIn our commercial product we ship 100,000 as a default max-instances, which we've found provides a safety valve for pathological cases while still minimizing churn in JRuby instances. However, 200 requests might only be one large catalog with many file resource. If there was a leak within our JRuby/Ruby code I would expect it to get worse the longer any one instance existed. However it was related to either the invokedynamic problem or some of our flushing logic I would expect the memory pressure to decrease as you increased the max-requests from 200, to 400, 800, 1600, 3200...\n\nI would suggest that you should set max-requests to 100,000 as we recommend for our commercial customers unless you have a specific reason not to.\n\nFinally, disabling as much of JRuby's invokedynamic usage as possible should both slow down compilation times as well as decrease metaspace and codecache usage. I think {{-Djruby.invokedynamic.invocation=false}} is the big one there but there's many and I can look into which set might be best if you decide to go down that route.\n\nI would try and see if tuning metaspace fixes the issue for you, if so we can almost be assured its our structural issue with our metaprogramming and invokedynamic's specialized class creation. I would then put your max-requests to 100k and call it a day. If it doesn't solve the issue then I'd try tuning max-requests to see if it scales as I think it should. If it does, then finally try the -Djruby.invokedynamic.invocation=false and come back and we can work through the next steps.\n\nHTH", "created": "2019-01-09T15:17:00.000000"}, {"author": "623cff48b75ca80070575e17", "body": "Thanks for the reply\n\nWe are are using the low max-requests-per-instance setting because we have seen performance decrease over time in some environments, possibly due to increased GC pressure from some leaky modules. Setting the max requests has fixed that problem.\n\nSetting MaxMetaspaceSize does not help with the out of memory issue but setting {{-Djruby.invokedynamic.invocation=false}} does fix leak the problem.\n\nThe setting was working fine up until version 5.3.x. Do you have an idea what change between 5.3.0 and 5.1.5 might have caused the problem?", "created": "2019-01-21T04:25:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I haven't reproduced either your specific issue or specific scenario eg. I'm not seeing what you're seeing, but I haven't ran puppetserver in k8s with your settings. ^1^\n\nMy comments, and our initial work on this ticket, was based on reviewing our perf/9k work and seeing what generally might be problematic in your env.\n\nLooking at the diff between [5.1.5 & 5.3.0|https://github.com/puppetlabs/puppetserver/compare/5.1.5...5.3.0] there's a few things that could have affected this. ^2^\n\nIf you say that it happens only when setting max-request low I don't think it should be a problem with the underlying JRuby version but with how we're managing those instances in the server itself. Our new feature of Instance Flush Splaying is the most adjacent to your issue but it was also a well understood and low risk change. It should definitely change the performance characteristics of a pool, but we aren't doing anything new that might introduce leakage... I think.\n\nMaybe, if we're shutting down a JRuby instance while it's still compiling/optimizing then it could leak some memory? I would expect our integration tests to also cause this, but maybe they finish early enough that it doesn't get so bad as to be noticeable.\n\nThere's a few other things that we could try:\n * Getting a heap dump and a count of heap vs total memory used before it's killed (ideally at a few points in its march towards eating all your memory).\n * Setting\u00a0{{jruby-puppet.compile-mode}} to {{off}} in {{conf.d/puppetserver.conf}} ([config reference|https://puppet.com/docs/puppetserver/6.1/config_file_puppetserver.html])? Do you see a significant performance difference between your 1.7 servers and 9k? Do you see a performance difference between your servers once you toggle compile-mode? ^3^\n * Setting {{jruby-puppet.splay-instance-flush}} to {{false}} to disable the instance splaying.\n * You mention that there's some memory leaking code in some modules in some environments. Can you share those? Maybe in 9k they've begun leaking in ways that trashing the instance doesn't clean them up.\n\n\u00a0\n\nThe heap dump is the best this-is-a-memory-leak-and-we're-going-to-find-what-exactly-is-leaking option. The other options will narrow the surface area we're looking at and highlight if it is actually a programming error leak or if it's some configuration settings that aren't working well together.\n\n\u00a0\n\n\u00a0\n ----\n\n\u00a0# I don't have a lot of experience running server in k8s but we have a group working on improving our foss docker images and coming up with best practices around running them, I'm hoping they create artifacts that we would both be able to consume going forward. However at this point I'm not sure what they're eta is.\n # Change log synopsis:\n ** Instance flush splay - this should spread out when instances are destroyed based on number of instances and max requests.\n ** When shelling out on the master we will sometimes wrap the command in {{/bin/sh}} if it contains shell escape characters (this is what MRI does).\n ** We force the internal/external encoding (should be a noop in 9k).\n ** Users can now turn on JRuby's profiler from puppetserver configs (rather than setting environment variables in the defaults file).\n ** Additional metrics are collected on the duration of API calls to the ENC and PDB, and we count number of queue limits exceeded.\n ** 9k now JIT compiles by default.\n ** We moved from JRuby [9.1.11.0 to 9.1.15.0|https://github.com/jruby/jruby/compare/9.1.11.0...9.1.15.0] ([issues|https://github.com/jruby/jruby/issues?utf8=%E2%9C%93&q=is%3Aissue+sort%3Aupdated-desc+9.1.15.0]).\n # Generally speaking, running in interpreter mode is slower in 9k vs 1.7, and when we turn on JIT in 9k the first few runs are *much* slower than if we were interpreting the code. Then after a handful of compiles the JIT'ed code becomes optimized enough that its meaningfully faster than the interpreted code. However the initial cost of compiling and optimizing isn't an overall win unless that instance lives for dozens, if not hundreds of compiles. I'm guessing that each instance is incurring the cost of compiling and optimizing and then being destroyed before it can accrue the benefits.", "created": "2019-01-22T16:24:00.000000"}, {"author": "623cff48b75ca80070575e17", "body": "Hi,\n\nI have tried a few things you suggested:\n\nsetting splay-instance-flush: false did *not* work, it still gets OOM killed after reaching the limit of 12Gi memory used\n\nsetting {{compile-mode: off did work, the pods ran stable for a day using configured 8Gi memory used}}\n\ncompile-mode off did increase median performance by about 10 percent (server report_time and config_retrieval_time metrics). This might be due to jit warmup and our low jruby lifetime, though when we enabled the low lifetime we did tune it to not affect performance as we did know it will affect the jit. But if we find the time we can do some more performance tests with longer lifetimes and compile mode off/on.\n\n\u00a0\n\nWe did see a slowdown changing from jruby 1.7 to 9k, but it was not very significant (maybe 5-10%) and it was necessary to get rid of some ugly patching patching (as ruby 1.7 dns resolution does not work with kubernetes ndot dns settings) and simplify integration with hashicorps vault's ruby library that has higher ruby requirements than 1.7, so we considered it worth it.", "created": "2019-01-25T10:38:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm glad that your pods are running in a stable manner!\n\nWhen you say that\n{quote}compile-mode off did increase median performance by about 10 percent\n{quote}\nDo you mean the performance _improved_ and time was reduced, or that time increased and the pods are now less performant, though more stable?\n\n\u00a0\n\nUnless you disagree, I'm going to consider this as caused by JIT + low MRPI. I will put seeing if it's an actual memory leak in JRuby when we shutdown the instances while it's still compiling/optimizing, as well as a doc ticket to note potential interactions between JIT and MRPI, but if you have a meaningful work around I'll close this ticket itself. (My guess is we'll do the docs right away but save the JRuby investigation until we do another performance pass).", "created": "2019-01-29T13:13:00.000000"}], "components": ["Puppet Server"], "created": "2018-09-10T00:53:00.000000", "creator": "623cff48b75ca80070575e17", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58b1e77d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl2o7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_119276755_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_25381567464_*|*_10006_*:*_1_*:*_11090173536_*|*_10005_*:*_1_*:*_17318"}], "description": "Puppetserver 5.3.5 appears to be leaking memory when jruby flushing via max-requests-per-instance is activated.\n\nWe are running puppetserver in kubernetes and our 5.3.5 servers keep exceeding the allowed memory when the max requests setting is nonzero. The java process is limited to 8G heap space and also uses -XX:MaxRam but the memory usage increases until it hits the 12G limit and the pod is killed.\n\nWe are running multiple different versions of puppetservers with identical settings (but different environments). Versions 2.4.0, 2.8.1, 5.1.5 are working fine, only version 5.3.x seems to be affected (tested 5.3.1, 5.3.3 and 5.3.5)\n\n\u00a0\n\nThe images are based on ubuntu xenial (16.04) and are using openjdk 8.\n The java memory settings are:\n -Xmx8G -XX:ReservedCodeCacheSize=512m -XX:MaxRAM=$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16566", "fixedVersions": [], "id": "16566", "issueType": "Bug", "key": "SERVER-2307", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623cff48b75ca80070575e17", "resolution": "Fixed", "resolutionDate": "2019-11-07T12:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver 5.3 memory leak with jruby flushing", "timeSpent": "PT0S", "updated": "2019-11-15T12:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:29:00.000000"}], "components": [], "created": "2018-09-07T10:01: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@3139fc10"}, {"fieldName": "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": "SERVER-2221"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1rr:"}, {"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": "This plumbs support for a new, but already documented feature, through the new cli tool we've created."}, {"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_*:*_240469265_*|*_1_*:*_1_*:*_14422_*|*_10007_*:*_1_*:*_59094570_*|*_3_*:*_1_*:*_18385984_*|*_5_*:*_1_*:*_443470588_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_288341221"}], "description": "We need to update various places to generate new files related to the infrastructure CRL, see SERVER-2231. Otherwise the CA state will show up as partially generated and puppetserver will refuse to start. The gem commands should only generate these files if the infra CRL is enabled.\n\nPlaces to update:\n* {{puppetserver ca generate}}\n* {{puppetserver ca import}}\n* https://github.com/puppetlabs/puppetserver/blob/master/acceptance/suites/tests/certificate_authority/intermediate_ca.rb", "epicLinkSummary": "Improve Certificate Revocation", "estimate": "PT0S", "externalId": "15937", "fixedVersions": ["SERVER 6.0.0"], "id": "15937", "issueType": "Task", "key": "SERVER-2305", "labels": [], "originalEstimate": "PT0S", "parent": "15766", "parentSummary": "Improve Certificate Revocation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-14T10:26:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Generate new infra_* files", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-09-06T12:47: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@7c92dd31"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzppzz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_264018975_*|*_1_*:*_1_*:*_904891_*|*_10007_*:*_1_*:*_320143357_*|*_3_*:*_1_*:*_35579051_*|*_5_*:*_1_*:*_0"}], "description": "We currently have an [acceptance test|https://github.com/puppetlabs/puppetserver/blob/5.3.5/acceptance/suites/tests/00_smoke/master_starts_if_agent_run_before_ssl_files_inited.rb]\u00a0that verifies if the agent has ran (and consequently created a private key pair) that the server will still start (implying that the CA bootstrapping code allows for pre-existing agent keys).\n\nThe puppetserver-ca does not allow this use case however.\n\nThe current behavior in Puppet Server, and required continued behavior in puppetserver-ca, is:\n * If there isn't either a public or private key for the master generate them in addition to the cert (current behavior)\n\n * If there is a public and private key for the master use them to generate the cert.\n\n * If there is one key but not the other, fail.\n\n\u00a0\n\nSee https://puppet.atlassian.net/browse/SERVER-528\u00a0for the original rationale.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15705", "fixedVersions": [], "id": "15705", "issueType": "Bug", "key": "SERVER-2304", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-09-13T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver-ca should allow pre-existing private/public keys for the master/agent", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-09-06T11:41: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@75cf0198"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzppwv:"}, {"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_*:*_40486730_*|*_10007_*:*_1_*:*_584169775_*|*_10009_*:*_1_*:*_12798089_*|*_5_*:*_1_*:*_0"}], "description": "Currently the puppetserver package also installs the puppetserver-ca gem. When upgrading or otherwise directly interacting with the gem it installs the puppetserver-ca\u00a0 in Puppet's bindir because the gem lists that as an executable. However the \"puppetserver-ca\" executable within the exe directory was only ever designed for local functional testing (its intended wrap to the library similarly to how the ca subcommand that puppetserver packaging will).\n\nWe should unlist that file as an executable in the gem so that it isn't installed into Puppet's bindir.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15461", "fixedVersions": [], "id": "15461", "issueType": "Bug", "key": "SERVER-2303", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-09-13T20:45:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Config exe/puppetserver-ca to not be installed into Puppet's PATH", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-09-05T15:26: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@d73fcca"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzpotj:"}, {"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": "There was a regression in Puppet Server 5.3.0 when we added the ability to wrap the status service within tk-auth. The intention was to default the status service to unauthenticated (in order to maintain compatibility). However, a rule was only written for the \"services\" endpoint of the status service, not the \"simple\" endpoint. Consequently access to the simple endpoint was by default forbidden. This adds a rule for the simple endpoint to also be unauthenticated and updates some missing documentation on how users can control access to the status endpoints themselves."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_429605301_*|*_1_*:*_1_*:*_4176756_*|*_10007_*:*_1_*:*_741719_*|*_3_*:*_1_*:*_84651672_*|*_5_*:*_1_*:*_683711385_*|*_6_*:*_1_*:*_0"}], "description": "The {{/status/v1/simple}} REST endpoint was added in puppetserver 2.6.0 as health check for load-balancers. According to https://puppet.com/docs/puppetserver/5.3/status-api/v1/simple.html#authorization the endpoint does not require authorization. But that doesn't appear to be the case:\n\n{noformat}\n# rpm -qa | grep puppet\npuppet-nightly-release-1.0.0-2.el7.noarch\npuppet-agent-5.99.2.231.gf095aac-1.el7.x86_64\npuppetserver-6.0.0.master-0.1SNAPSHOT.2018.08.19T2214.el7.noarch\n# curl -v -k https://xa80twq2t9eur0o.delivery.puppetlabs.net:8140/status/v1/simple\n* About to connect() to xa80twq2t9eur0o.delivery.puppetlabs.net port 8140 (#0)\n*   Trying 10.32.120.108...\n* Connected to xa80twq2t9eur0o.delivery.puppetlabs.net (10.32.120.108) port 8140 (#0)\n* Initializing NSS with certpath: sql:/etc/pki/nssdb\n* skipping SSL peer certificate verification\n* NSS: client certificate not found (nickname not specified)\n* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\n* Server certificate:\n* \tsubject: CN=xa80twq2t9eur0o.delivery.puppetlabs.net\n* \tstart date: Sep 04 20:26:47 2018 GMT\n* \texpire date: Sep 04 20:26:47 2023 GMT\n* \tcommon name: xa80twq2t9eur0o.delivery.puppetlabs.net\n* \tissuer: CN=Puppet CA: xa80twq2t9eur0o.delivery.puppetlabs.net\n> GET /status/v1/simple HTTP/1.1\n> User-Agent: curl/7.29.0\n> Host: xa80twq2t9eur0o.delivery.puppetlabs.net:8140\n> Accept: */*\n>\n< HTTP/1.1 403 Forbidden\n< Date: Wed, 05 Sep 2018 21:21:27 GMT\n< Content-Length: 91\n< Server: Jetty(9.4.z-SNAPSHOT)\n{noformat}\n\nAdding the following to the default auth.conf fixes the issue:\n\n{noformat}\n        {\n            # Allow unauthenticated access to the simple status endpoint\n            match-request: {\n                path: \"/status/v1/simple\"\n                type: path\n                method: get\n            }\n            allow-unauthenticated: true\n            sort-order: 500\n            name: \"puppetlabs simple status\"\n        },\n{noformat}\n\nRestart puppetserver, then it works:\n\n{noformat}\n# curl -k https://xa80twq2t9eur0o.delivery.puppetlabs.net:8140/status/v1/simple\nrunning\n{noformat}\n\nNot sure how to handle upgrades though?", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16563", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.0"], "id": "16563", "issueType": "Bug", "key": "SERVER-2302", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver's simple status endpoint returns 403", "timeSpent": "PT0S", "updated": "2018-10-22T10:29:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have decided to not do this work for the time being. There is PUP-9116 for removing the associated deprecation warnings from Puppet.", "created": "2018-09-10T10:59:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Closing due to age.  ", "created": "2021-12-22T11:17:00.000000"}], "components": [], "created": "2018-09-04T12:37:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver falls back to Puppet's CA settings when they are not configured in the server config file"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6b682eac"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpne7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Dec/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_14854_*|*_3_*:*_1_*:*_512402803_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_103598380106"}], "description": "Originally we were planning to remove all CA-related settings from Puppet in favor of ones in Puppetserver in Puppet 6. To that end we issued deprecation warnings for the Puppet settings in Puppet 5.5.6. However, these warnings were premature, since users had no alternatives to move to. We should add the settings to Puppetserver with automatic fallback to Puppet's settings when they have not been configured in Puppetserver's config files. This should be shipped at least with the next Puppetserver 5.x release, and possibly in Puppet 6 as well, to make migrating to the new settings easier.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15936", "fixedVersions": [], "id": "15936", "issueType": "Task", "key": "SERVER-2301", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2021-12-22T11:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow puppetserver CA settings to fallback to Puppet's when unconfigured", "timeSpent": "PT0S", "updated": "2021-12-22T11:17:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c114d866b810069e4374d", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hi, thanks for the report. That endpoint, believe it or not, lives in the agent (and is served by Puppet Server). The version reported ({{5.5.0}}) is a Puppet Agent version and gives a good clue to the fact that it's been returning this since then (IIRC, June of this year). Do you know the last know version of Puppet Server/Puppet Agent where this was functioning? That would give us a change set to look through to figure out what broken and when.", "created": "2018-09-04T15:56:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Puppet Server 5 is no longer supported and we haven't heard from the user in years. If this is still an issue, please open a new ticket describing the issue.", "created": "2022-02-09T11:43:00.000000"}], "components": ["Puppet Server"], "created": "2018-08-31T22:16:00.000000", "creator": "623c114d866b810069e4374d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f90da5"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyk48n:q0200000jr0uac"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_322844074_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_108334010580"}], "description": "*Puppet Server Version: 5.3*\n *OS Name/Version: CentOS 7.4*\n\nPuppet status endpoint returns HTTP 404, even though returned json says it's is_alive.\n\n$:~ chic_cat$ curl -I -k https://puppet:8140/puppet/v3/status/whatever?environment=production\nHTTP/1.1 404 Not Found\nDate: Sat, 01 Sep 2018 04:13:24 GMT\nCache-Control: must-revalidate,no-cache,no-store\nContent-Type: text/html;charset=iso-8859-1\nContent-Length: 340\nServer: Jetty(9.4.z-SNAPSHOT)\n\n$:~ chic_cat$ curl -k https://puppet:8140/puppet/v3/status/whatever?environment=production\n{\"is_alive\":true,\"version\":\"5.5.0\"}$:~ chic_cat$\n\n*Desired Behavior:*\n\n\u00a0\n\n200 OK\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15158", "fixedVersions": [], "id": "15158", "issueType": "Bug", "key": "SERVER-2300", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c114d866b810069e4374d", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-09T11:43:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet server 5.3 status endpoint doesn't work", "timeSpent": "PT0S", "updated": "2022-02-09T11:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-08-31T11:09:00.000000", "creator": "5a7211b6d0cb452810793cd6", "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 scenarios previously using 'puppet cert' commands still pass"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@572f870"}, {"fieldName": "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-8503"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpl93:"}, {"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_*:*_18773404_*|*_1_*:*_1_*:*_165832_*|*_3_*:*_1_*:*_1125853269_*|*_5_*:*_1_*:*_505678137_*|*_6_*:*_1_*:*_0"}], "description": "In many of our puppetserver tests we use commands like \"puppet cert sign\" which will soon be replaced.\u00a0 Our new puppetserver ca cli commands will be the replacement, so we need to update tests to use our new ca cli commands.\n\n\u00a0\n\n\u00a0", "epicLinkSummary": "Agent SSL CLI", "estimate": "PT0S", "externalId": "16769", "fixedVersions": ["SERVER 6.0.0"], "id": "16769", "issueType": "Task", "key": "SERVER-2299", "labels": [], "originalEstimate": "PT0S", "parent": "25220", "parentSummary": "Agent SSL CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a7211b6d0cb452810793cd6", "resolution": "Fixed", "resolutionDate": "2018-09-13T17:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Replace 'puppet cert' code in tests with new ca-cli commands", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I would assume this will hit anything that is pluginsynced: types, providers, etc. It may also happen to things like locales.\n\nThere was an optimization suggested in our proposed re-write of file serving in clojure that would have resolved this issue (index the entire modulepath, cache the location and metadata to avoid constantly re-searching and checksumming).\u00a0", "created": "2018-09-04T22:35:00.000000"}], "components": ["Puppet Server"], "created": "2018-08-30T11:21: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@6b358b7a"}, {"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": "Rank", "fieldType": "com.pyxis.greenhopper.jira:gh-lexo-rank", "value": "0|hzpk1z:"}, {"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": "43759"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Aug/18"}], "description": "The behavior of a name collision on of a fact is inconsistent when it comes to plugin sync. As multiple developers or development teams may name facts identically, it is easy to get in a situation where two modules have the same fact name. Currently, only one of the facts will be synced to the agent, which can cause a confusion in trying to debug why the fact is not working as designed. The fact that is chosen is inconsistent and can be different across masters.\n\nTo eliminate this as a potential issue within environments, there should be a mechanism to detect and alert the user that a name collision has occurred. Alternativley, facts could be scoped to their respective modules, but the agent would then be responsible for handling name collisions across modules.\n\n*Reproduction*\nTo reproduce the issue\n\n1. Create a fact with the same name in two different modules in the same environment\n2. Run the agent and notice that only one of the facts is in the plugin sync. \n3. Restart puppetserver (removing the file sync client cache if it exists)\n4. Run the agent and notice which one of the facts has been synced\n\nNote: Different puppetservers may use different versions of the fact, which is even more inconsistent.\n\nAn example of this is below.\n{code}root@pe-201814-master modules]# tree first/ second/\nfirst/\n\u2514\u2500\u2500 lib\n    \u2514\u2500\u2500 facter\n        \u2514\u2500\u2500 test.rb\nsecond/\n\u2514\u2500\u2500 lib\n    \u2514\u2500\u2500 facter\n        \u2514\u2500\u2500 test.rb\n{code}\nThe {{file_metadatas}} endpoint only shows one of the files.\n{code}[root@pe-201814-master modules]# curl -H 'Accept: application/json, text/pson' --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --cacert $(puppet config print localcacert) \"https://$(puppet config print server):8140/puppet/v3/file_metadatas/plugins?environment=production&links=follow&recurse=true&source_permissions=ignore&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&checksum_type=md5\" | python -m json.tool  | grep -A 2 -B 11 test.rb\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100  113k    0  113k    0     0   452k      0 --:--:-- --:--:-- --:--:--  451k\n    {\n        \"checksum\": {\n            \"type\": \"md5\",\n            \"value\": \"{md5}8ce0743b553e4a467fb2e16d40878c57\"\n        },\n        \"destination\": null,\n        \"group\": 992,\n        \"links\": \"follow\",\n        \"mode\": 420,\n        \"owner\": 995,\n        \"path\": \"/etc/puppetlabs/code/environments/production/modules/second/lib\",\n        \"relative_path\": \"facter/test.rb\",\n        \"type\": \"file\"\n    },\n{code}\nQuerying the file_metadata endpoint for {{test.rb}} shows the same file.\n{code}[root@pe-201814-master modules]# curl --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --cacert $(puppet config print localcacert) \"https://$(puppet config print server):8140/puppet/v3/file_metadata/plugins/facter/test.rb?environment=production\" | python -m json.tool\n{\n    \"checksum\": {\n        \"type\": \"md5\",\n        \"value\": \"{md5}8ce0743b553e4a467fb2e16d40878c57\"\n    },\n    \"destination\": null,\n    \"group\": 992,\n    \"links\": \"manage\",\n    \"mode\": 420,\n    \"owner\": 995,\n    \"path\": \"/etc/puppetlabs/code/environments/production/modules/second/lib/facter/test.rb\",\n    \"relative_path\": null,\n    \"type\": \"file\"\n}\n{code}\nA restart of the puppetserver service and clearing the file sync cache results in a different file to be presented.\n{code}[root@pe-201814-master modules]# curl -H 'Accept: application/json, text/pson' --cert $(puppet config print hostcert) --key $(puppet config print hostprivkey) --cacert $(puppet config print localcacert) \"https://$(puppet config print server):8140/puppet/v3/file_metadatas/plugins?environment=production&links=follow&recurse=true&source_permissions=ignore&ignore=.svn&ignore=CVS&ignore=.git&ignore=.hg&checksum_type=md5\" | python -m json.tool  | grep -A 2 -B 11 test.rb\n    {\n        \"checksum\": {\n            \"type\": \"md5\",\n            \"value\": \"{md5}09da16de901b9126793d66189c62295d\"\n        },\n        \"destination\": null,\n        \"group\": 992,\n        \"links\": \"follow\",\n        \"mode\": 420,\n        \"owner\": 995,\n        \"path\": \"/etc/puppetlabs/code/environments/production/modules/first/lib\",\n        \"relative_path\": \"facter/test.rb\",\n        \"type\": \"file\"\n    },\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16251", "fixedVersions": [], "id": "16251", "issueType": "Bug", "key": "SERVER-2298", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5e3375e183d74c0e821851f3", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Inconsistent file_metadata results when there is a plugin sync name collision", "timeSpent": "PT0S", "updated": "2021-03-26T13:27:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have decided to not move any CA settings for Puppet 6, so this work isn't needed yet.", "created": "2018-09-10T10:57:00.000000"}], "components": [], "created": "2018-08-29T09:32:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* puppetserver-ca CLI can correctly resolve and merge settings from both the puppet and the puppetserver config files"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@44f2a7c1"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:jr"}], "description": "We are moving some but not all of the settings needed by the gem from Puppet to Puppetserver. The CA CLI gem needs to load both files and merge the results correctly for use by the actions. This entails:\n* splitting the {{config}} into one each for server and puppet files\n* combining the results of both configs such that puppetserver's values override puppet's\nOR\n* since there shouldn't be any settings that live in both places, removing duplicated settings from the puppet config loader\n\nNote that since we also ship this gem in Puppeterver 5.x, where the settings have not been moved, this will probably necessitate branching the gem.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15703", "fixedVersions": [], "id": "15703", "issueType": "Task", "key": "SERVER-2297", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update CA CLI gem to load settings from both config files", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2a53d683-dd9b-464c-923b-18c573973d27", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "If you remove stdlib from production do you get an error during compilation? Do you remember this situation correctly giving an error during compilation? If so, do you know what version of Puppet & Puppet Server it was? Is there anything in the log (maybe at debug level) during compilation regarding this?\n\n\u00a0", "created": "2018-09-04T22:45:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "/cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "created": "2018-09-04T22:47:00.000000"}, {"author": "557058:2a53d683-dd9b-464c-923b-18c573973d27", "body": "I deleted temporarily the stdlib module directory in the production environment and in the accountmanagement environment and ran the puppet agent against the accountmanagement environment.\n\nAgain there was no trace regarding file_line resources, neither in the puppet agent debug output or in the puppetserver log.", "created": "2018-09-05T00:55:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T10:04:00.000000"}], "components": ["Puppet Server"], "created": "2018-08-29T02:05:00.000000", "creator": "557058:2a53d683-dd9b-464c-923b-18c573973d27", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a91f1cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzpigv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "05/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_592843566_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_110636292233"}], "description": "*Puppet Version: 5.5.3*\n *Puppet Server Version: 5.3.4*\n *OS Name/Version: Ubuntu 16.04*\n\nThere is one puppet environment \"production\" with the the stdlib module. There is another puppet environment accountmanagement without the stdlib module. The command \"puppet module list\" lists all modules in the production environment and no modules in\n\n{{/etc/puppetlabs/code/modules (no modules installed)}}\n{{/opt/puppetlabs/puppet/modules (no modules installed)}}\n\nIn the environment accountmanagement I'm trying to use the function file_line from the stdlib module. The catatalog compiles successfully and the agent produces no error but also shows no hint regarding the file_line resource in the puppet code.\n\nAfter adding the stdlib module to the puppet environment accountmanagement all works fine.\n\nThe basemodulepath looks fine and is default.\n\n{{root@machine123:~# puppet config print basemodulepath}}\n{{/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules}}\n\n\u00a0\n\n\u00a0\n\n*Desired Behavior:*\n\nThe desired behavior is getting an error during compilation of the catalog with the stdlib module.\n\n*Actual Behavior:*\n\n\u00a0\n\nThe current behavior is that puppet compiles and executes a catalog with a resource file_line without any trace in debug or error.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15935", "fixedVersions": [], "id": "15935", "issueType": "Bug", "key": "SERVER-2296", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2a53d683-dd9b-464c-923b-18c573973d27", "resolution": "Won't Do", "resolutionDate": "2022-03-08T10:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "No warnings or failures when referencing non-existent functions", "timeSpent": "PT0S", "updated": "2022-03-08T10:04:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-08-24T11:19:00.000000", "creator": "5a7211b6d0cb452810793cd6", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@8322b96"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1qf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_82610995_*|*_1_*:*_1_*:*_233686_*|*_10007_*:*_1_*:*_146624347_*|*_3_*:*_1_*:*_257128056_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_25572906"}], "description": "Certificate creation in the Create Action needs to support subject\u00a0alternative names that can be customized via Puppet's dns_alt_names\u00a0setting or the `--subject-alt-names` flag.\n\nWe have done something similar for the GENERATE and IMORT action, where a user can specify --subject-alt-names for the Master certificate being created.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15934", "fixedVersions": [], "id": "15934", "issueType": "Story", "key": "SERVER-2295", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a7211b6d0cb452810793cd6", "resolution": "Done", "resolutionDate": "2018-08-30T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Support SANs for 'create' action", "timeSpent": "PT0S", "updated": "2018-08-30T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5eb561e89756e40b84a304db", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{code}\nJob for puppetserver.service failed because a configured resource limit was exceeded. See \"systemctl status puppetserver.service\" and \"journalctl -xe\" for details.\n{code}\n\nThe output of {{journalctl -xe}} and {{systemctl status puppetserver.service}} are probably the next steps in debugging this issue. There's also logs at {{/var/log/puppetlabs/puppetserver}} and in {{/var/log/messages}} that may be helpful.\n\n\u00a0", "created": "2018-08-23T10:18:00.000000"}, {"author": "5eb561e89756e40b84a304db", "body": "i think i need to configure ntp with my cent os before installing puppet master ,so i found that the problem is because of NTP server not configured ,anybody can please suggest how to configure Cent VM 7.5 with NTP on azure cli", "created": "2018-08-24T04:08:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Please reopen if you're still having issues.", "created": "2022-02-18T17:56:00.000000"}], "components": ["Puppet Server"], "created": "2018-08-23T00:59:00.000000", "creator": "5eb561e89756e40b84a304db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f9b0fb1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzpdkv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_33579732_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_110191020380"}], "description": "[root@pspuppetmaster ps8kadmin]# puppetserver.service\nbash: puppetserver.service: command not found\n[root@pspuppetmaster ps8kadmin]# service puppetserver enable\nThe service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.\n[root@pspuppetmaster ps8kadmin]# service puppetserver force-reload\nRedirecting to /bin/systemctl force-reload puppetserver.service\nJob for puppetserver.service invalid.\n[root@pspuppetmaster ps8kadmin]# service puppetserver stop\nRedirecting to /bin/systemctl stop puppetserver.service\n[root@pspuppetmaster ps8kadmin]# service puppetserver start\nRedirecting to /bin/systemctl start puppetserver.service\nJob for puppetserver.service failed because a configured resource limit was exceeded. See \"systemctl status puppetserver.service\" and \"journalctl -xe\" for details.\n[root@pspuppetmaster ps8kadmin]#", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15511", "fixedVersions": ["None"], "id": "15511", "issueType": "Bug", "key": "SERVER-2294", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5eb561e89756e40b84a304db", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-18T17:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "cannot start puppet server", "timeSpent": "PT0S", "updated": "2022-02-18T17:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please add release notes for this issue if needed, thanks!", "created": "2018-09-20T10:22:00.000000"}], "components": [], "created": "2018-08-22T13:25:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 CA name is configurable via a command line flag to {{generate}}\n* the master certname is configurable via a command line flag to {{generate}}"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1e86652c"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpd9r:"}, {"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": "There are general docs for the whole new CLI tool"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "20/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_486365540_*|*_1_*:*_1_*:*_13521_*|*_10007_*:*_1_*:*_114958223_*|*_3_*:*_1_*:*_76045016_*|*_5_*:*_1_*:*_3471063538_*|*_6_*:*_1_*:*_0"}], "description": "The PE installer expects the CA name and master cert name it generates to be configurable based on settings pulled together by the installer modules. It does not permanently alter config files to contain these settings, which is the only way the gem currently has of configuring them. We should add these options as command line flags to make this workflow easier.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16250", "fixedVersions": [], "id": "16250", "issueType": "New Feature", "key": "SERVER-2293", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-10-09T13:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The CA name and master cert name should be configurable via command line flags", "timeSpent": "PT0S", "updated": "2018-10-09T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] do you think this is something we need before we can make the updates to the PE installer? Are custom CSR attributes something that is used commonly/by default in PE?", "created": "2018-08-22T12:24:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Is this just for the CA node or for agents too?  The most common attribute would probably be pp_role and I have seen people use that on PE infra nodes as well as agents.  ", "created": "2018-08-22T16:44:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The CSR attribute file is currently respected for the host cert on the CA node, as well as for agent nodes (whose CSRs are generated by Ruby code in Puppet). This ticket specifically applies to the puppet master certificate on CA nodes, since that is the only one generated by the gem (e.g. what we currently do using `puppet cert generate` in the installer, see PE-24739).", "created": "2018-08-22T18:40:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "If we're talking about the agent certificate for the master node then I would expect it to have the CSR attributes respected.  I kind of expected that the agent would generate the certificate not clojure code.   ", "created": "2018-08-23T15:40:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So currently, in the open source world, the Clojure code generates the agent cert for the master node, as well as the CA, as part of server startup, as you can see in the file linked in the description. We are moving that into the new gem, so make CA generation explicit. It's not hard to add the CSR attribute processing to that, just trying to figure out what order to do the work in.\n\nThe issue with having the agent code do it, is then you'd need a running CA server to actually sign the thing, which I don't think we have at that point of a PE install.", "created": "2018-08-23T16:32:00.000000"}], "components": [], "created": "2018-08-21T16:30:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 master cert is generated with any configured CSR attributes"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@b8cf8a1"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1qn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_41856_*|*_10007_*:*_1_*:*_590948028_*|*_3_*:*_1_*:*_252676755_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_525156232"}], "description": "Currently puppet has a setting for custom CSR attributes that are added to the master cert when it is generated. The new CLI tool needs to respect this setting as it is generating the master's cert.\n\nhttps://github.com/puppetlabs/puppetserver/blob/875516528899c0f220f5063acfa116f87bdeef24/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L617-L631", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15510", "fixedVersions": [], "id": "15510", "issueType": "New Feature", "key": "SERVER-2292", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-09-06T12:43:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The generated master cert needs to support custom CSR attributes", "timeSpent": "PT0S", "updated": "2018-09-06T12:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "5a7211b6d0cb452810793cd6", "body": "Current error after this PR if disabled (allow-authorization-extensions: false)\n{code:java} ~/Development/puppetserver-ca-cli (SERVER-2276) $\ud83d\udc30\u00a0 be ./exe/puppetserver-ca sign --all\nError:\n\u00a0 \u00a0 When attempting to sign certificate request 'smiffanyjr2', received\n\u00a0 \u00a0 \u00a0 code: 409\n\u00a0 \u00a0 \u00a0 body: CSR 'smiffanyjr2' contains an authorization extension, which is disallowed. To allow authorization extensions, set allow-authorization-extensions to true in your puppetserver.conf file, restart the puppetserver, and try signing this certificate again.\n\n{code}\nCurrent error after this PR if enabled (allow-authorization-extensions: true)\n{code:java}\u00a0 ~/Development/puppetserver-ca-cli (SERVER-2276) $\ud83d\udc30\u00a0 be ./exe/puppetserver-ca sign --all\nSuccessfully signed certificate request for smiffanyjr2{code}", "created": "2018-08-22T16:19:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:5a7211b6d0cb452810793cd6] please add release notes for this issue if needed, thanks!", "created": "2018-09-05T07:23:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:5a7211b6d0cb452810793cd6] please add release notes for this issue if needed, thanks!", "created": "2018-09-05T07:24:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:30:00.000000"}], "components": ["DOCS"], "created": "2018-08-17T15:13:00.000000", "creator": "5a7211b6d0cb452810793cd6", "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": "* Puppetserver has a {{allow-authorization-extensions}} setting that allows the API to sign CSRs with auth extensions.\n * The setting is false by default"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@12fb1cdd"}, {"fieldName": "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": "SERVER-974"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1r3:"}, {"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": "Puppet Server now has a setting called `allow-authorization-extensions` in the `certificate-authority` section of its config for enabling signing certs with authorization extensions. It is false by default for security reasons, but if users know they need to do this, they should enable the setting here. `puppet cert sign` used to allow this via a flag, but `puppetserver ca sign` requires it to be configued in the config file."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_577570802_*|*_1_*:*_1_*:*_354607448_*|*_10007_*:*_1_*:*_88727327_*|*_3_*:*_1_*:*_78100929_*|*_5_*:*_1_*:*_1742350896_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3953860"}], "description": "Currently we completely disallow signing certificate requests with authorization extensions from Puppetserver's {{certificate_status}} endpoint. However, with the removal of the {{puppet cert}} command, users need a way to allow this. Because it could still be risky (see comments on SERVER-2268), we should introduce a setting that users can enable in puppetserver's config if they need this behavior, similar to the Ruby CA's {{allow-authorization-extensions}}.\n\n\u00a0\n\nUseful code:\u00a0\n\nTake a look at how we did:\u00a0 https://puppet.atlassian.net/browse/SERVER-2278\u00a0\u00a0We'll want to do something similar.\n\n[https://github.com/puppetlabs/puppetserver/blob/2e271f7c6768cf60f56d396f74b28ce62e3bd677/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1054]", "epicLinkSummary": "Clojure CA Service", "estimate": "PT0S", "externalId": "15157", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.0"], "id": "15157", "issueType": "New Feature", "key": "SERVER-2290", "labels": [], "originalEstimate": "PT0S", "parent": "15527", "parentSummary": "Clojure CA Service", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": " Add a setting to enable signing CSRs with authorization extensions", "timeSpent": "PT0S", "updated": "2018-10-22T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "fyi, [~accountid:557058:45fa3568-deb5-4da5-b894-a1ec07f1c138].  we might want to check to see if there is an acceptance test against {{/v1/simple}}, ensure it is one that gets run against any testing we setup for ipv6", "created": "2018-08-23T10:02:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:79a6b455-622c-4839-88ba-d3ee205f72b0] will this get CS triaged?  that will help us prioritize/triage on our end...", "created": "2018-08-23T10:06:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Was this encountered and/or fixed as part of the ipv6 work?", "created": "2019-09-27T14:43:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:0b16fa29-44bc-4e11-82b0-a346967ad808], [~accountid:557058:66e2b7b3-3544-4ef8-aceb-8e67e1315116] do either of you know if this was checked during the recent ipv6 work?\n\n\u00a0", "created": "2019-09-27T15:05:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "I don't think the status endpoints are checked directly as part of the standard smoke tests, but I do see some checks in the HA helpers that might be exercising that. Unfortunately, I didn't get a successful HA test on the IPv6 environment. So... I am unsure if this bug is still manifesting.", "created": "2019-09-27T16:07:00.000000"}, {"author": "557058:0b16fa29-44bc-4e11-82b0-a346967ad808", "body": "Re [~accountid:557058:79a6b455-622c-4839-88ba-d3ee205f72b0]'s request about configuring java_args: that should be unnecessary. Linux sockets with IPv6 adress bindings should listen to both IPv4 and IPv6 addresses on the port they are bound to by default, unless a special IPv6 only flag is set in the kernel. Java should have the same behavior by default, as well.", "created": "2019-09-27T16:17:00.000000"}, {"author": "5ade3a9f91bc312e6a4a30f3", "body": "[~accountid:557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715] What is the status of IPv6 support generally? Do we think this is an issue that needs to be addressed and tested against?", "created": "2020-12-08T16:59:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "Yay triage! [~accountid:557058:79a6b455-622c-4839-88ba-d3ee205f72b0]\u00a0thanks again for this effort when we were attracting Federal customers.\u00a0 For now, we should close this and any other IPv6 tickets as super low priority unless they are actively impeding a customer. FYI [~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100]", "created": "2020-12-08T18:40:00.000000"}], "components": [], "created": "2018-08-16T07:32:00.000000", "creator": "557058:79a6b455-622c-4839-88ba-d3ee205f72b0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@598e10aa"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzp95b:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_73051697436_*|*_6_*:*_1_*:*_0"}], "description": "relates to\u00a0https://puppet.atlassian.net/browse/SERVER-248\n\n\u00a0\n\nDeployed Puppet server in Centos7 with active ipv6 and the servcies\u00a0on 8140 bound to tcp6.\u00a0\nintroduced the fix from\u00a0https://puppet.atlassian.net/browse/SERVER-248,\n\nthe fix from server-248 when run post deploy updated the config and restarts the service but left the helthcheck\u00a0endpoint indeterminate\u00a0\nwe fixed it with a reboot\n\nto reproduce:\n\ndeploy compile master on centos 7 with ipv6, apply hiera data from server-248 and run puppet agent, puppet will update configuration but leave /v1/simple endpoint unresponsive\n\n\u00a0\n\nCan we add the data to the default java args so has to ensure the service is always attached to the tcp4.\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15701", "fixedVersions": [], "id": "15701", "issueType": "Bug", "key": "SERVER-2289", "labels": ["post_pup_6"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:79a6b455-622c-4839-88ba-d3ee205f72b0", "resolution": "Won't Fix", "resolutionDate": "2020-12-08T18:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The pe_puppetserver service when run with ipv6 and ipv4 binds tcp to tcp6, and does not serve the healthcheck endpoint correctly", "timeSpent": "PT0S", "updated": "2020-12-08T18:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-08-15T14: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@72ae5adc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp8fr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_236981630_*|*_1_*:*_1_*:*_8838_*|*_10007_*:*_1_*:*_254100040_*|*_3_*:*_1_*:*_174431883_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_612537644"}], "description": "We should have the {{import}} command create and sign a certificate for the master after setting up the CA.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15698", "fixedVersions": [], "id": "15698", "issueType": "Sub-task", "key": "SERVER-2288", "labels": [], "originalEstimate": "PT0S", "parent": "15696", "parentSummary": "Update setup actions to also generate the master cert", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Generate a master certificate as part of `puppetserver ca import`", "timeSpent": "PT0S", "updated": "2018-08-30T09:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This also has a PR associated with it to update the code that generates the auth rules for PE, to add this new rule.", "created": "2018-09-06T12:44:00.000000"}], "components": [], "created": "2018-08-15T13:02: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@797a4844"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp8br:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19835_*|*_10007_*:*_1_*:*_623959381_*|*_3_*:*_1_*:*_1185305_*|*_5_*:*_1_*:*_1110246153_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1290523455"}], "description": "We currently do not allow any connection to the {{certificate_status(es)}} endpoint by default. However, because the CA CLI gem makes heavy use of it, we need to enable the gem to authenticate itself for that endpoint. We should add a custom extension of some kind of the master certificate created by the {{generate}} command that can be checked by {{auth.conf}} to allow the master cert to use the endpoint, but no other certs.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17407", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.0"], "id": "17407", "issueType": "Sub-task", "key": "SERVER-2287", "labels": [], "originalEstimate": "PT0S", "parent": "15696", "parentSummary": "Update setup actions to also generate the master cert", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The master cert created by `generate` should have custom extensions for the `cert_status` endpoint auth", "timeSpent": "PT0S", "updated": "2022-07-11T11:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-08-15T12:58: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@27bb7384"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp8bb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_834280988_*|*_1_*:*_1_*:*_242325_*|*_10007_*:*_1_*:*_10632335_*|*_3_*:*_1_*:*_347592978_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_90873408"}], "description": "We should have the generate command create and sign a certificate for the master after setting up the CA.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15933", "fixedVersions": [], "id": "15933", "issueType": "Sub-task", "key": "SERVER-2286", "labels": [], "originalEstimate": "PT0S", "parent": "15696", "parentSummary": "Update setup actions to also generate the master cert", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:32:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Generate a master certificate as part of `puppetserver ca generate`", "timeSpent": "PT0S", "updated": "2018-08-30T09:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-08-15T12:57:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{generate}} action creates a host cert for the puppet master\n* the {{import}} command also creates a host cert for the puppet master\n* the host cert created has custom extensions that can be used to identify it as authorized to execute the CA CLI commands"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@e993c99"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1qv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_13008_*|*_10007_*:*_1_*:*_16037491_*|*_3_*:*_1_*:*_955613522_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_944339327"}], "description": "Currently in addition to creating the CA files, puppetserver creates a certificate for the master as part of its bootstrapping process. We have decided it would be better to move this to the gem along with the rest of the CA generation process, whether that is the default {{generate}} or importing pre-generated certs. This allows us to more easily control the alt names and extensions that get added to Puppet master certs, which is important because we only want requests made by this CLI tool to be able to come from that master cert.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15696", "fixedVersions": [], "id": "15696", "issueType": "Improvement", "key": "SERVER-2285", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-09-06T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update setup actions to also generate the master cert", "timeSpent": "PT0S", "updated": "2018-09-06T17:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "wrt to the docs:\n\nHere is the tk-auth docs on how to whitelist the master's cert:\n\n[https://github.com/puppetlabs/trapperkeeper-authorization/blob/master/doc/authorization-config.md#allow]\n\n\u00a0\n\nThe tk-auth config update will look something like (example only includes certificate_status, will need to be done for certificate_statuses as well):\n{code:java}\n{\n    match-request: {\n        path: \"/puppet-ca/v1/certificate_status/\"\n        type: path\n        method: [\"get\", \"put\", \"delete\"]\n    }\n    allow: <your-masters-certname>\n    sort-order: 500\n    name: \"puppetlabs certificate status\"\n}{code}", "created": "2018-08-15T12:03:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "release note added", "created": "2018-08-20T21:33:00.000000"}], "components": [], "created": "2018-08-14T15:40:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca}} CLI can be use in puppetserver 5.3.5"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@25f2becc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp6w7:"}, {"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": "We have added a new command line tool for interacting with the Puppet CA, under the {{puppetserver ca}} command. This can be used to generate an intermediate CA for puppetserver (note that caveats about needing to manually copy these certs to agents still apply in the Puppet 5 series), generate, sign, revoke, clean, and list certs. All of these actions are executed by making requests to Puppet Server's CA API, in particular the {{certificate_status}} and {{certificate_statuses}} endpoint. Note that currently requests to these endpoint are denied by the blanket rule in {{auth.conf}}, so if you would like to try out the new tool, you should first add two rules to {{auth.conf}}, whitelisting your master's certname to talk to those two endpoints.\n\nThe {{puppet cert}} command and other assorted CA-related puppet subcommands are going to be removed in Puppet 6, so we encourage you to try out this tool now and give us feedback on any bugs or functionality gaps, so we can fix them before removing the tools is it replacing."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "15/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_458755252_*|*_1_*:*_1_*:*_50249_*|*_10007_*:*_1_*:*_63658040_*|*_3_*:*_1_*:*_3639622_*|*_5_*:*_1_*:*_159920893_*|*_6_*:*_1_*:*_0"}], "description": "In Puppet 6 we are removing {{puppet cert}} and the other CA related puppet faces. They are getting depricated the next Platform 5 release. In order to give users an alternative to try out, we should backport support for the new {{puppetserver ca}} CLI and start shipping that gem in this same release. This also entails backporting a few packaging changes to support the shim for the gem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14826", "fixedVersions": ["SERVER 5.3.5"], "id": "14826", "issueType": "New Feature", "key": "SERVER-2284", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-22T14:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Backport new CA CLI gem to 5.3.x", "timeSpent": "PT0S", "updated": "2018-08-22T14:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:3532fc49-9a37-49ef-bddf-417bf6bba5fe", "attachments": [], "comments": [{"author": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "body": "We identified a bug when we have to serve plugin files from Puppet's file serving (rather than the {{static_file_content}} endpoint). The plugin mount doesn't use modules names, so the URI will be wrong.", "created": "2018-09-12T18:10:00.000000"}], "components": [], "created": "2018-08-14T10:33: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@1e935ced"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzpg87:"}, {"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": "Puppet Server now serves tasks that include extra files for those tasks."}, {"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_*:*_2_*:*_263220697_*|*_1_*:*_1_*:*_1811892876_*|*_10007_*:*_1_*:*_68046500_*|*_3_*:*_1_*:*_622654878_*|*_10009_*:*_1_*:*_258815586_*|*_5_*:*_1_*:*_96667127_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_119703"}], "description": "The task-details response from puppet-server should include all files listed in {{files}} or {{implementations:files}} from a modules metadata.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15932", "fixedVersions": ["SERVER 6.0.0"], "id": "15932", "issueType": "New Feature", "key": "SERVER-2283", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-09-18T10:46:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Include file requirements from task metadata in taskinfo", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-08-14T08:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f8a588c"}, {"fieldName": "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-9057"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1q7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2350_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_788741315"}], "description": "(Initial planned release date: 2018-08-21)\n\n* Update version number in source to point to next snapshot.\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-08-22T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "estimate": "PT0S", "externalId": "15509", "fixedVersions": [], "id": "15509", "issueType": "Task", "key": "SERVER-2282", "labels": [], "originalEstimate": "PT0S", "parent": "25304", "parentSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-08-23T11:20:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.5)", "timeSpent": "PT0S", "updated": "2018-08-23T11:20:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-08-14T08:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2f3e916f"}, {"fieldName": "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-9057"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1pz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2510_*|*_3_*:*_1_*:*_399418_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_614537601"}], "description": "(Initial planned release date: 2018-08-21)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Bump and Tag the candidate SHA once passing\n  * Run the \"Lein Release\" job for the release branch. This job will make the\n     appropriate version bump commits and tag the release SHA.\n* Ensure tagged release version is built, tested and artifacts exist at\n  builds.delivery.puppetlabs.net\n  * This may entail manually promoting into PE again.\n", "duedate": "2018-08-17T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "estimate": "PT0S", "externalId": "14825", "fixedVersions": [], "id": "14825", "issueType": "Task", "key": "SERVER-2281", "labels": [], "originalEstimate": "PT0S", "parent": "25304", "parentSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-08-21T11:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.5)", "timeSpent": "PT0S", "updated": "2018-08-21T11:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-08-14T08:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c05790c"}, {"fieldName": "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-9057"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1pr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2360_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_542178005"}], "description": "(Initial planned release date: 2018-08-21)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-08-16T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "estimate": "PT0S", "externalId": "17405", "fixedVersions": [], "id": "17405", "issueType": "Task", "key": "SERVER-2280", "labels": [], "originalEstimate": "PT0S", "parent": "25304", "parentSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-08-20T14:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.5)", "timeSpent": "PT0S", "updated": "2018-08-20T14:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] has this happened at this point?", "created": "2018-08-17T08:23:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I've done the ticket resolution, everything looks as expected.", "created": "2018-08-17T09:16:00.000000"}], "components": [], "created": "2018-08-14T08:14:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7477bd94"}, {"fieldName": "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-9057"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp6gn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2390_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_262913732"}], "description": "(Initial planned release date: 2018-08-21)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-08-14T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "estimate": "PT0S", "externalId": "17167", "fixedVersions": [], "id": "17167", "issueType": "Task", "key": "SERVER-2279", "labels": [], "originalEstimate": "PT0S", "parent": "25304", "parentSummary": "Puppet Platform 5.5.6 Release - 2018-08-21", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-08-17T09:16:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.5)", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:29:00.000000"}], "components": ["DOCS"], "created": "2018-08-13T11:38:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver has a {{allow-subject-altnames}} setting that allows the API to sign CSRs with alt names.\n* The setting is false by default"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7862642d"}, {"fieldName": "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": "SERVER-974"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1pj:"}, {"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": "Puppet Server now has a setting called `allow-subject-alt-names` in the `certificate-authority` section of its config for enabling signing certs with subject alternative names. It is false by default for security reasons, but if users know they need to do this, they should enable the setting here. `puppet cert sign` used to allow this via a flag, but `puppetserver ca sign` requires it to be configured in the config file. "}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_834439463_*|*_1_*:*_1_*:*_17001_*|*_10007_*:*_1_*:*_267926834_*|*_3_*:*_1_*:*_183876060_*|*_5_*:*_1_*:*_1742354656_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_175151956"}], "description": "Currently we completely disallow signing certificate requests with subject alternative names from Puppetserver's {{certificate_status}} endpoint. However, with the removal of the {{puppet cert}} command, users need a way to allow this. Because it could still be risky (see comments on SERVER-2268), we should introduce a setting that users can enable in puppetserver's config if they need this behavior, similar to the Ruby CA's {{allow-dns-alt-names}}. Because we intend to also support IP alt names, the name should not refer specifically to DNS.", "epicLinkSummary": "Clojure CA Service", "estimate": "PT0S", "externalId": "17403", "fixedVersions": ["SERVER 5.3.6", "SERVER 6.0.0"], "id": "17403", "issueType": "New Feature", "key": "SERVER-2278", "labels": [], "originalEstimate": "PT0S", "parent": "15527", "parentSummary": "Clojure CA Service", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add a setting to enable signing CSRs with subject alternative names", "timeSpent": "PT0S", "updated": "2018-10-22T10:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-08-10T11:18: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@5e5397ec"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4dj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15100_*|*_3_*:*_1_*:*_24072_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2356021949"}], "description": "We should edit the error and warning output to follow the guidelines here https://github.com/puppetlabs/puppet-nogui/blob/master/patterns/command_taxonomy.md#output\n\nThis should also include making sure that the commands are in alphabetical order in the help output.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15931", "fixedVersions": [], "id": "15931", "issueType": "Sub-task", "key": "SERVER-2277", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2018-09-06T17:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update help and errors to follow Puppet style guide", "timeSpent": "PT0S", "updated": "2018-09-06T17:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-08-10T11:17: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@5916bb54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4db:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_601295308_*|*_1_*:*_1_*:*_11763_*|*_10007_*:*_1_*:*_147102092_*|*_3_*:*_1_*:*_107951922_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_865509493"}], "description": "Some actions need to share requests to the CA with other actions. We should make an object to wrap these requests and put a nice API on them, so they're easy to use in the CLI actions.\n\nThis ticket does not currently cover moving the CA generation code, though that should probably eventually go into this class, so name appropriately.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15693", "fixedVersions": [], "id": "15693", "issueType": "Sub-task", "key": "SERVER-2276", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make a CA object to wrap HTTP calls", "timeSpent": "PT0S", "updated": "2018-08-30T09:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-08-10T11:10: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@10c436ff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4cn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22575_*|*_3_*:*_1_*:*_262921777_*|*_10009_*:*_1_*:*_1443710530_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_15502138"}], "description": "We should create an actual HTTP client object that initializes SSL state once and stores it, allowing multiple connections to be made from it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15156", "fixedVersions": [], "id": "15156", "issueType": "Sub-task", "key": "SERVER-2275", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make an actual HTTP client", "timeSpent": "PT0S", "updated": "2018-08-30T09:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "attachments": [], "comments": [], "components": [], "created": "2018-08-10T11:08: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@7b6c7bc6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4cf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_868262176_*|*_1_*:*_1_*:*_19467_*|*_10007_*:*_1_*:*_409761746_*|*_3_*:*_1_*:*_163145059_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_281087668"}], "description": "All of the config related files, actions, and utils should be in their own respective directories, and the spec files should be moved around to match that structure.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14823", "fixedVersions": [], "id": "14823", "issueType": "Sub-task", "key": "SERVER-2274", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reorganize utils, configs, and actions into separate dirs under `ca`", "timeSpent": "PT0S", "updated": "2018-08-30T09:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-08-10T11:06: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@39427fb0"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4d3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1112373010_*|*_1_*:*_1_*:*_164694_*|*_10007_*:*_1_*:*_237163310_*|*_3_*:*_1_*:*_15828502_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_356967728"}], "description": "Instead of using the {{fetch}} method repeatedly to supply defaults for each of the settings, we should just make a defaults hash and merge it with the results of loading the settings file. https://github.com/puppetlabs/puppetserver-ca-cli/blob/master/lib/puppetserver/ca/puppet_config.rb", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17401", "fixedVersions": [], "id": "17401", "issueType": "Sub-task", "key": "SERVER-2273", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:34:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update `puppet_config` to use a defaults hash", "timeSpent": "PT0S", "updated": "2018-08-30T09:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-08-10T10:52: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@5562afd7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzp4cv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1010929_*|*_10007_*:*_1_*:*_90002790_*|*_3_*:*_1_*:*_75342962_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_281070917"}], "description": "Currently some of the actions have a lot of action-specific tests in the {{cli_spec}} file. We should break out the tests for validation and action-specific behavior into their own spec files, leaving only the high level tests for invoking the action in {{cli_spec}}.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16249", "fixedVersions": [], "id": "16249", "issueType": "Sub-task", "key": "SERVER-2272", "labels": [], "originalEstimate": "PT0S", "parent": "17166", "parentSummary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-15T15:09:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Refactor action specs out of cli_spec", "timeSpent": "PT0S", "updated": "2018-08-15T15:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-08-03T16:40:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca revoke}} can revoke certificates identified by their serial numbers"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6420084a"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:f"}], "description": "When {{allow_duplicate_certs}} is true, it is possible for puppetserver to have more than one cert associated with a certname. This means that in order to effectively revoke a certificate when duplicate certs are allowed, the user needs to be able to specify the cert to revoke via its serial number, rather than its certname. Once this capability has been added to the API (see SERVER-2270), we need to update the {{puppetserver ca revoke}} command to also allow specifying certs by serial numbers.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "15930", "fixedVersions": [], "id": "15930", "issueType": "New Feature", "key": "SERVER-2271", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update the `puppetserver ca revoke` command to accept serial numbers", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Implementation wise, before I forget, the server takes the certname, tries to load the certificate into memory, extracts the cert's serial number, and then adds the serial number to the CRL. Here: https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L1260-L1263\n\nThe cert command currently requires the serial number passed as a hexadecimal number prepended with \"0x\" (ie, common literal for hex).\n\nI'm not sure if we should try to match if the uri includes \"0x\" followed by a valid hex digit we simply add that to the CRL. Should we first check to see if there's an existing cert with that name (it is also a valid certname afterall)?\n\n{{PUT puppet-ca/v1/certificate_status/0xBADBEEF?serial=true}}\n\nShould we add a parameter that says the type of identifier? eg:\n\n{{PUT puppet-ca/v1/certificate_status/0xBADBEEF?serial=true}}\n\nOr should we update the request body to something like:\n\n{code}\n{\n    \"desired_state\": \"revoked\",  // required\n    // one of\n    {\"serial\": \"BADBEEF\"}\n    {\"certname\": \"foo.example.com\"}\n}\n{code}\n\nActually it would be really nice to add a PUT handler to the certificate_status endpoint a la:\n{{PUT /puppet-ca/v1/certificate_statuses}}\nwith a body of:\n{code}\n{\n    \"nodes\": [\n        { \"serial\": \"BADBEEF\", \"desired_state\": \"revoked\"},\n        { \"certname\": \"foo.example.com\", \"desired_state\": \"signed\"}\n    ]\n}\n{code}\n\nBut now I think I'm just in wishful thinking territory...", "created": "2018-08-03T18:01:00.000000"}], "components": [], "created": "2018-08-03T16:37:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Certificates be revoked by serial number via the puppetserver API"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7c0aed43"}, {"fieldName": "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": "SERVER-2342"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rz:ci"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "04/Aug/18"}], "description": "When {{allow_duplicate_certs}} is true, it is possible for puppetserver to have more than one cert associated with a certname. This means that in order to effectively revoke a certificate when duplicate certs are allowed, the user needs to be able to specify the cert to revoke via its serial number, rather than its certname. The {{puppet cert revoke}} command had this capability, but the API does not. We need to add the ability to revoke certs by their serial numbers via the API.", "epicLinkSummary": "CA API Improvements", "estimate": "PT0S", "externalId": "15690", "fixedVersions": [], "id": "15690", "issueType": "New Feature", "key": "SERVER-2270", "labels": [], "originalEstimate": "PT0S", "parent": "15164", "parentSummary": "CA API Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow revoking certificates by their serial numbers via the puppetserver API", "timeSpent": "PT0S", "updated": "2022-03-09T09:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Puppet's current default SANs for the CA certificate use Facter's values for {{fqdn}} and {{domain}}. Going to look into pulling in Facter as part of this, at [~accountid:70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8]'s recommendation, since those values are notoriously tricky to resolve in a platform-agnostic way.", "created": "2018-08-09T12:35:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Turns out the CA certificates don't need and SANs. Closing this.", "created": "2018-08-14T17:40:00.000000"}], "components": [], "created": "2018-08-03T10:50:00.000000", "creator": "5a7211b6d0cb452810793cd6", "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 {{puppetserver ca generate}} command adds the same default SANs as the current bootstrapping code"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@507eeb5c"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl213:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_502934_*|*_10007_*:*_1_*:*_371720197_*|*_3_*:*_1_*:*_82221663_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_520557250"}], "description": "When we're creating CA certs, we should keep backwards compatibility with how puppet currently puts in default SANs.\n\nHere are the current values:\u00a0[https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/host.rb#L179]\nAnd how we add them to the cert:\n[https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/certificate_request.rb#L279]", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "15508", "fixedVersions": ["SERVER 6.0.0"], "id": "15508", "issueType": "Improvement", "key": "SERVER-2269", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5a7211b6d0cb452810793cd6", "resolution": "Won't Do", "resolutionDate": "2018-08-14T17:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add dns_alt_names when creating certificates", "timeSpent": "PT0S", "updated": "2018-08-14T17:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:71582ab7-ed41-48f8-a53e-545356d7dee4] would you mind weighing on the security concerns in this redmine ticket: https://projects.puppetlabs.com/issues/13406? If it seems like the fix for the [original issue|https://puppet.com/blog/important-security-announcement-altnames-vulnerability] was overly aggressive, we'd really like to consider removing or reducing the restrictions on signing via the API.", "created": "2018-08-03T09:52:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "Agree that the current approach of completely disallowing SANs when signing via an API seems a bit heavy handed. However if it is to be allowed then the CA must be in a position to verify/validate that all of the identities requested in the SANs actually belong to the requesting entity. And that may not be easily doable when signing requests in an automated manner. Having said that, I don't believe we currently even validate the subject CN against the actual DNS name of the node. So an argument can be made towards also allowing SANs when signing requests via API. \n\nI am bit hesitant to enable something that potentially increases the risk by making it easier to sneak/steal someone else's identity while keeping the subject CN look innocuous. If not already, as a compromise it might be reasonable to introduce an additional config option to allow SANs in requests to be signed over an API (besides the master config of allowing API based or automated signing). Documentation and/or UI should provide warnings about CA's inability to validate the SAN contents and even subject name when enabling these settings.\nOther possibility is to try to check that the neither the subject nor any of the SAN entries belong to master's DNS(s) - while whoever can masquerade some other node it cannot be master thereby reducing risks of leveraging puppet as an attack vector. Though not sure if it can be accomplished to exclude master's certificate request from this restriction.\nAlso relevant logs registering certificate issuance should list both the subject and all SAN contents for auditing purposes. ", "created": "2018-08-03T11:52:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The work to enable this will probably mostly be in Puppet Server, see SERVER-2278.", "created": "2018-08-15T13:04:00.000000"}, {"author": "5a7211b6d0cb452810793cd6", "body": "Note:\u00a0 This is the current message we get when we try to sign certs that have dns names:\n{code:java}Error:\n\u00a0 \u00a0 When attempting to sign certificate request 'snoop' received:\n\u00a0 \u00a0 \u00a0 code: 409\n\u00a0 \u00a0 \u00a0 body: CSR 'snoop' contains subject alternative names (DNS:snoop, DNS:ulla.net), which are disallowed. Use `puppet cert --allow-dns-alt-names sign snoop` to sign this request.\n{code}", "created": "2018-08-17T12:57:00.000000"}, {"author": "5a7211b6d0cb452810793cd6", "body": "Updated error messaging with this commit:\u00a0https://github.com/puppetlabs/puppetserver-ca-cli/pull/23/commits/85f763e322b643425611c1c917f5758e1e528c5f", "created": "2018-08-21T18:47:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "If I chose to disable automatically allowing all altnames in my puppetserver config, it's likely there are some certs I will still need to allow with altnames. How would I get those through?", "created": "2018-09-14T12:02:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We are discussing adding a flag to the CLI too, that would be required in addition to the setting being enabled (if either the CA's admin disabled this ability entirely or the person wanting to sign didn't request SANs, the signing would fail). This is only questionable because it constitutes an API break for the new CLI, but that might still be reasonable because the tool is so new. \n\nThat being said, still seems bad for users to do this after 6.0, and I don't think we have any runway left to get it in now. Personally I'm still okay with our existing security model that we settled on for this per Jayant's comment above. The per-request flag kind of just seems like boilerplate. If you really want to be rejecting _only some_ CSRs with alt names, then presumably you're inspecting them when you get them and making the decision at that point to not sign them.", "created": "2018-09-14T12:17:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "That's reverse of what we currently have, if I'm following you. It's not that you want to reject only some CSRs, I think it's that you only want to accept some CSRs that have altnames that you want to allow.", "created": "2018-09-14T13:10:00.000000"}], "components": [], "created": "2018-08-03T09:51:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca sign}} can sign certs with subject alternative names"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50149e16"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1rj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_687590904_*|*_1_*:*_1_*:*_106801_*|*_10007_*:*_1_*:*_414613076_*|*_3_*:*_1_*:*_1018985_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1228382593_*|*_10005_*:*_1_*:*_9182"}], "description": "Currently, the {{puppetserver ca sign}} command uses Puppetserver's API to sign certificates. The API is currently not allowed to sign certificates with subject alternative names, due to an [old bug|https://projects.puppetlabs.com/issues/13406]. However, we need this functionality in the new CLI. So we should revisit the security concerns around allowing this functionality via the API, and then either enable, or add Ruby code to sign certificates with SANs.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "16248", "fixedVersions": [], "id": "16248", "issueType": "Improvement", "key": "SERVER-2268", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-08-30T09:33:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Enable `puppetserver ca sign` to sign certs with SANs", "timeSpent": "PT0S", "updated": "2018-09-19T09:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "5a7211b6d0cb452810793cd6", "body": "Looks like this ticket will have 2 parts:\n\n1- Update the get-certificate-status to return DNS and IP SANs instead of just DNS SANs.\n\n2 -Update the Master certificate so it can read (and allow) both IP and DNS SANs from the configs and add both kinds of SubjectAltNames to the master cert.\u00a0\u00a0", "created": "2018-09-19T15:47:00.000000"}], "components": [], "created": "2018-08-02T12:15:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver can sign CSRs with IP subject alternative names"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@237f8a02"}, {"fieldName": "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": "SERVER-974"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl3vb:"}, {"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 Puppet Server CA can now sign certificates with IP alt names in addition to DNS alt names (if signing certs with alt names is enabled)."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "19/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_86265907_*|*_1_*:*_1_*:*_357239_*|*_10007_*:*_1_*:*_410978035_*|*_3_*:*_1_*:*_185820034_*|*_5_*:*_1_*:*_448692479_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4143689482"}], "description": "In PUP-8942, we updated the Ruby CA code to allow signing of certificates with IP subject alternative names in addition to DNS names. We should make analogous changes to the Clojure CA code. See https://github.com/puppetlabs/puppetserver/blob/6.0.0/src/clj/puppetlabs/puppetserver/certificate_authority.clj#L669.\n\nCurrently this code is only accessible during bootstrapping, because we currently disallow signing certificates with SANs via the API. However, the requirement that we allow users to use IP alternative names will probably also be relevant for the {{puppetserver ca setup}} command that will replace Pupeptserver's bootstrapping code (see SERVER-2255) and also for however we implement allows SANs for the {{puppetserver ca sign}} command.", "epicLinkSummary": "Clojure CA Service", "estimate": "PT0S", "externalId": "16768", "fixedVersions": ["SERVER 6.0.1"], "id": "16768", "issueType": "New Feature", "key": "SERVER-2267", "labels": [], "originalEstimate": "PT0S", "parent": "15527", "parentSummary": "Clojure CA Service", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-27T09:07:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver should allow signing certificates with IP subject alternative names", "timeSpent": "PT0S", "updated": "2018-10-02T13:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "623c1006ee1b5a007029340e", "body": "I solved it!\u00a0:)\n\nTo get the _openjdk-8-jre-headless_\u00a0package, I had to *enable the _universe_ repository* on my server.\n\nI achieved this by appending the following to _/etc/apt/sources.list_, then running an _apt-get_ update (_sudo apt-get update_):\n{quote}{{deb http://archive.ubuntu.com/ubuntu bionic universe}}\n{{deb http://archive.ubuntu.com/ubuntu bionic-security universe}}\n{{deb http://archive.ubuntu.com/ubuntu bionic-updates universe}}\n{quote}\nI hope this saves someone the couple of hours I wasted on it. (y)", "created": "2018-07-30T22:10:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:3bbf1c83-df0e-4372-887d-cfc38dee9330] do you know if your team did anything particular to our internal bionic images to make this easier? Is this kind of thing something that might affect all users and should be documented [here|https://puppet.com/docs/puppetserver/5.3/install_from_packages.html]?", "created": "2018-07-31T12:00:00.000000"}, {"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], yes, we do [enable|https://github.com/puppetlabs/puppetlabs-packer/blob/master/manifests/modules/packer/manifests/vsphere/params.pp#L34] the universe repository on all of our internal Ubuntu images. \n\nAs this could potentially affect any user who doesn't have the universe repository enabled on their hosts, I think we should probably document it. ", "created": "2018-07-31T12:46:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Created DOCUMENT-893 for the documentation updates because this appears to affect more than just Server.", "created": "2018-08-01T09:23:00.000000"}], "components": ["DOCS", "Puppet Server"], "created": "2018-07-30T17:16:00.000000", "creator": "623c1006ee1b5a007029340e", "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": "_puppetserver_ installs on Ubuntu Server 18.04?"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@38eac053"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzokwv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "31/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_2_*:*_86933980_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version: 5.5*\n *Puppet Server Version: 5.3*\n *OS Name/Version: Ubuntu Server 18.04 LTS*\n\nI cannot install the _puppetserver_ package on my clean _Ubuntu Server 18.04.1_ VM because it depends on\u00a0_openjdk-8-jre-headless_ which isn't available.\n\n\u00a0\n\nI followed the following instructions from [here|https://puppet.com/docs/puppet/5.5/puppet_platform.html] for adding the repositories to my newly installed Ubuntu 18.04.1 server.\n{quote}{{wget https://apt.puppetlabs.com/puppet5-release-bionic.deb}}\n\n{{sudo dpkg -i puppet5-release-bionic.deb}}\n\n{{sudo apt update}}\n{quote}\nWhich adds a sources file with this in it:\n{quote}# Puppet 5 bionic Repository\ndeb http://apt.puppetlabs.com bionic puppet5\n\n# Puppet 5 bionic Source Repository\n# The source repos are commented out by default because we\n# do not always make sources available for all packages or\n# for all platforms. If you want to access the source repos,\n# uncomment the following line.\n#deb-src http://apt.puppetlabs.com bionic puppet5\n{quote}\n...looks fine.\n\nThe _apt-get update_ then gives this:\n{quote}{{Ign:1 http://apt.puppetlabs.com bionic InRelease}}\n{{Get:2 http://apt.puppetlabs.com bionic Release [40.4 kB]}}\n{{Hit:3 http://archive.ubuntu.com/ubuntu bionic InRelease}}\n{{Get:4 http://apt.puppetlabs.com bionic Release.gpg [819 B] }}\n{{Get:5 http://archive.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]}}\n{{Get:6 http://apt.puppetlabs.com bionic/puppet5 all Packages [1,676 B]}}\n{{Get:7 http://apt.puppetlabs.com bionic/puppet5 amd64 Packages [6,007 B] }}\n{{Get:8 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]}}\n{quote}\n...looking ok, it got package lists from you.\n\nHowever, when I run *_sudo apt-get install puppetserver_* I get this message:\n{quote}Reading package lists... Done\nBuilding dependency tree \nReading state information... Done\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n *puppetserver : Depends: openjdk-8-jre-headless but it is not installable*\nE: Unable to correct problems, you have held broken packages.\n{quote}\nThe current version is *_openjdk-11-jre-headless_*, I tried installing that but, unsurprisingly, it didn't help.\n\nI can't see anything in your instructions regarding *openjdk-8-jre-headless*, I assume this _should_ work, or else you wouldn't just have the code to copy for installing on Ubuntu 18.04. Maybe I'm doing something wrong, but I'm fairly certain I followed the instructions correctly.\n\n*Desired Behavior:*\n\nIt installs _puppetserver_\n\n*Actual Behavior:*\n\nIt doesn't install\u00a0_puppetserver_\n\n\u00a0\n\n\u00a0\n\nI don't think I have any logs yet, I haven't managed to install it.", "environment": "Ubuntu Server 18.04.1 LTS", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16247", "fixedVersions": ["SERVER 5.3.5"], "id": "16247", "issueType": "Bug", "key": "SERVER-2266", "labels": ["docs"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c1006ee1b5a007029340e", "resolution": "Fixed", "resolutionDate": "2018-07-31T17:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Cannot install Puppet 5.5 on Ubuntu Server 18.04.1 LTS", "timeSpent": "PT0S", "updated": "2018-08-17T09:12:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Do we want this broken down into subtasks?", "created": "2018-08-09T12:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "General spec refactor - move tests that exercise *Action#run into their respective spec files, potentially anything that is best to use and action instance method like parse. However we should still have at least the shared examples that exercise the Cli integration\n\nMoving utils into puppetserver/ca/utils/ renaming puppetserver/ca/utils.rb to puppetserver/ca/utils/cli_utilities.rb\n\nMoving actions into puppetserver/ca/action/ and renaming\n\n\u00a0\n\nUpdating specs to follow same layout\n\n\u00a0\n\nMove puppetserver/setting/ttl_setting.rb's munge into puppet_config and removing that file.\n\n\u00a0", "created": "2018-08-10T10:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Update Errors and Warning to follow these recommendations more closely:\u00a0https://github.com/puppetlabs/puppet-nogui/blob/master/patterns/command_taxonomy.md#output", "created": "2018-08-10T11:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Alphabetical listing of actions\n\nUse common error logging in puppetserver/ca/utils", "created": "2018-08-10T11:15:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "remove puppetserver/ca/stub", "created": "2018-08-10T11:17:00.000000"}], "components": [], "created": "2018-07-27T11:55:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* less/no duplication of utility code in the {{puppetserver ca}} subcommands"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fe9e819"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl21z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_64258_*|*_10007_*:*_1_*:*_3364_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_3884254492"}], "description": "We've been adding subcommands to the {{puppetserver-ca-cli}} gem in parallel, and it has become obvious that a fair amount of code either getting copied around or implemented differently in multiple places. Once this initial batch of subcommands is complete, we should refactor these utility methods into some modules that can be shared across subcommands.\n * Please also refactor puppetserver/ca/puppet_config.rb for the defaults and overrides. Look into using a hash of defaults and merging them with the overrides.\n * Consider whether we want utils folder outside of ca folder or nested.\u00a0 Same for settings folder.\n * Group the actions within their own directory ({{puppetserver/ca/import_action.rb -> puppetserver/ca/action/import.rb}})\n* Create a CA object that can handle individual CA tasks (e.g. revoking a cert), which can be reused in different actions\n* Consider making an actual HTTP client that can cache the SSL store between calls", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "17166", "fixedVersions": [], "id": "17166", "issueType": "Improvement", "key": "SERVER-2265", "labels": [], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-09-10T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Refactor utilities that are shared between subcommands in puppetserver-ca-cli", "timeSpent": "PT0S", "updated": "2018-09-10T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-07-27T10:33:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* puppetserver integration tests run successfully without any implicit CA bootstrapping"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6bf921dc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzodfj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_22574_*|*_3_*:*_2_*:*_681478529_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_3_*:*_3207714289"}], "description": "We need to make sure that our clojure integration tests no longer rely on the CA being generated as part of starting the server for any of the tests before we remove the CA bootstrapping code. Since we won't be able to use the CLI in this context, we probably need to be more aggressive about having fixtures in place for a CA for these tests.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15928", "fixedVersions": ["SERVER 6.0.0"], "id": "15928", "issueType": "Sub-task", "key": "SERVER-2264", "labels": [], "originalEstimate": "PT0S", "parent": "15103", "parentSummary": "The CA that signs agent requests should be an intermediate CA by default", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2018-09-10T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update puppetserver clojure integration tests to handle lack of CA bootstrapping", "timeSpent": "PT0S", "updated": "2018-09-10T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [{"author": "5a7211b6d0cb452810793cd6", "body": "Here is an example of what is currently done:\n{code:java}\n~/Development/puppetserver/ruby/puppet (master) $\ud83d\udc30\u00a0 be puppet cert generate amy.net\nWarning: `puppet cert` is deprecated and will be removed in a future release.\n\u00a0\u00a0 (location: /Users/amy.sahli/Development/puppetserver/ruby/puppet/lib/puppet/application.rb:377:in `run')\nNotice: amy.net has a waiting certificate request\nNotice: Signed certificate request for amy.net\nNotice: Removing file Puppet::SSL::CertificateRequest amy.net at '/Users/amy.sahli/.puppetlabs/etc/puppet/ssl/ca/requests/amy.net.pem'\nNotice: Removing file Puppet::SSL::CertificateRequest amy.net at '/Users/amy.sahli/.puppetlabs/etc/puppet/ssl/certificate_requests/amy.net.pem'\n{code}\n\u00a0\n\nAnd then you can see my key and cert is there:\n{code:java}\n~/.puppetlabs/etc/puppet/ssl/certs $\ud83d\udc30\u00a0 ls amy.net.pem ca.pem localhost.pem ~/.puppetlabs/etc/puppet/ssl/certs $\ud83d\udc30\u00a0 cd .. ~/.puppetlabs/etc/puppet/ssl $\ud83d\udc30\u00a0 cd private_keys ~/.puppetlabs/etc/puppet/ssl/private_keys $\ud83d\udc30\u00a0 ls amy.net.pem localhost.pem\n{code}", "created": "2018-08-08T14:56:00.000000"}], "components": [], "created": "2018-07-26T11:33:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 CA CLI has a subcommand to generate certificate-key pairs for a given certname"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3489893b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzoe0n:"}, {"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_*:*_342389883_*|*_1_*:*_1_*:*_11238_*|*_10007_*:*_2_*:*_265716809_*|*_3_*:*_1_*:*_181485822_*|*_5_*:*_1_*:*_4570134563_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1128257369"}], "description": "We need a subcommand that works analogously to {{puppet cert generate}}, which creates a key and signed certificate for a given certname. This is commonly used when setting up puppet infrastructure, which needs certs that have subject alternative names and therefore currently can't be signed via the CA API or via autosigning.\n\nIn SERVER-2255, we are already creating a subcommand that we are calling {{generate}}, so one of these two will need a new name.\n\nThis command should accept an {{--allow-subject-alternative-names}} flag that enables signing CSRs with SANs. Per the work done in PUP-8942, this should allow both DNS and IP alt names. Puppetserver's CA code will need to be updated to allow this, see SERVER-2267.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17400", "fixedVersions": [], "id": "17400", "issueType": "Sub-task", "key": "SERVER-2263", "labels": [], "originalEstimate": "PT0S", "parent": "17269", "parentSummary": "New CLI tools for interacting with CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create a subcommand for generating a new key and certificate via the CA CLI", "timeSpent": "PT0S", "updated": "2018-10-09T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-07-23T22:11:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5a0f2fa1"}, {"fieldName": "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": "Server CA CLI"}, {"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": "dark_teal"}, {"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|hymq1j:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6867242586_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_42449443159"}], "description": "Work to complete the new CA CLI for puppetserver, implemented via the [puppetserver-ca-cli|https://github.com/puppetlabs/puppetserver-ca-cli] gem.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14822", "fixedVersions": [], "id": "14822", "issueType": "Epic", "key": "SERVER-2262", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-02-14T16:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Server CA CLI", "timeSpent": "PT0S", "updated": "2020-04-06T15:13:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "ping [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69]", "created": "2018-07-23T21:33:00.000000"}, {"author": "557058:745e5b4d-58ed-48ed-8daa-afe8b66453a1", "body": "release note added", "created": "2018-08-20T21:38:00.000000"}], "components": [], "created": "2018-07-23T21:33: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@af6bdd9"}, {"fieldName": "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": "SERVER-2262"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzof33:"}, {"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 {{puppetserver ca}} CLI now has an {{import}} subcommand for installing key and certificate files generated by the user (for example when they have an external root CA that they need puppetserver's PKI to chain to)"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "21/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_312989233_*|*_1_*:*_1_*:*_2129268_*|*_10007_*:*_2_*:*_368978499_*|*_3_*:*_1_*:*_117253_*|*_5_*:*_1_*:*_1743458800_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_137964721"}], "description": "We need two actions for setting up a CA, {{import}} and {{generate}}, rather than having a generic setup action with potentially confusing flags to do those two different types of setup.\n\nConsequently we should change the name of the {{setup}} action to be {{import}}.", "epicLinkSummary": "Server CA CLI", "estimate": "PT0S", "externalId": "17164", "fixedVersions": ["SERVER 5.3.5", "SERVER 6.0.0"], "id": "17164", "issueType": "Task", "key": "SERVER-2261", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "14822", "parentSummary": "Server CA CLI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-08-22T14:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "rename puppetserver-ca's `setup` action to `import`", "timeSpent": "PT0S", "updated": "2018-08-22T14:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "attachments": [], "comments": [], "components": [], "created": "2018-07-23T09:28:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{puppetserver ca}} CLI has a subcommand for listing certs and CSRs"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@28239a9a"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzoe13:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_282712881_*|*_1_*:*_1_*:*_10963_*|*_10007_*:*_1_*:*_323215694_*|*_3_*:*_1_*:*_3736_*|*_5_*:*_1_*:*_2841415611_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1578639250"}], "description": "In order to deprecate/remove the {{puppet cert}} command, we need a replacement tool that can be used to list existing certificates and CSRs. This new tool should live under the {{puppetserver ca}} command as part of [the gem|https://github.com/puppetlabs/puppetserver-ca-cli]. It should use the {{certificate-statuses}} endpoint for listing the certificates and/or CSRs.\n\nWe should revisit the behavior of the current {{puppet cert list}} command and make sure that is what we want the new command to do, since it seems potentially unintuitive.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17162", "fixedVersions": ["SERVER 6.0.0"], "id": "17162", "issueType": "Sub-task", "key": "SERVER-2260", "labels": [], "originalEstimate": "PT0S", "parent": "17269", "parentSummary": "New CLI tools for interacting with CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create a `list` subcommand for the new CA CLI", "timeSpent": "PT0S", "updated": "2018-09-19T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-07-23T09:25:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{puppetserver ca}} CLI has a subcommand for cleaning up certificates and CSRs given a hostname"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@43a36069"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzoe0v:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_360217110_*|*_1_*:*_1_*:*_13223_*|*_10007_*:*_1_*:*_331106414_*|*_3_*:*_1_*:*_98198775_*|*_5_*:*_1_*:*_2841423276_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1395225832"}], "description": "In order to deprecate/remove the {{puppet cert}} command, we need a replacement tool that can be used to \"clean up\" issued certificates, for example if the user desires to have a new cert issued for a given host. This new tool should live under the {{puppetserver ca}} command as part of [the gem|https://github.com/puppetlabs/puppetserver-ca-cli].\n\nIf a certificate exists for the supplied hostname, that cert should be revoked via the {{certificate-status}} endpoint and all associated files should be cleaned from disk. If no cert exists, any pending CSRs for that hostname should be destroyed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16767", "fixedVersions": ["SERVER 6.0.0"], "id": "16767", "issueType": "Sub-task", "key": "SERVER-2259", "labels": [], "originalEstimate": "PT0S", "parent": "17269", "parentSummary": "New CLI tools for interacting with CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create a `clean` subcommand for the new CA CLI", "timeSpent": "PT0S", "updated": "2018-09-19T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "From chatting with [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], I think we were going to try to use Ruby's {{Net/HTTPS}} first to see if we could do this simply w/o any additional dependencies. If not, or if the server_list and srv logic becomes necessary we may want to look into loading the rest client code in Puppet that we recently added to simplify Puppet's SSL bootstrapping or the underlying library that we used there: {{httpclient}}.\n\nI believe the assumption is that this CLI tool is only valid when ran on the CA and most the above networking code (server_list and HA) are not valid. I assume that also means the {{ca_server}} is unnecessary.\n\nI think there *might* be issues with that in AWS-like environments where the local hostname is not externally resolvable and vice versa, but I'm not clear on all the implications currently.\n\nI'm not quite clear if we should make a connection to the {{server}}, {{ca_server}}, or {{certname}} settings in puppet.conf or some resolved combination of those. Or if we can just attempt localhost.\n\nI assume this should honor the {{ssldir}}, {{hostcert}}, {{hostprivkey}}, {{localcacert}}, and {{hostcrl}} in puppet.conf when creating an https connection.\n\nI'm going to start with creating an https connection to localhost using net/https and add complexity from there.", "created": "2018-07-23T18:30:00.000000"}], "components": [], "created": "2018-07-23T09:17:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{puppetserver ca}} CLI has a subcommand for revoking certificates given a certname"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@562b54d2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzoe0f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "24/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_789761606_*|*_1_*:*_1_*:*_25752_*|*_10007_*:*_1_*:*_595872_*|*_3_*:*_1_*:*_1369392717_*|*_5_*:*_1_*:*_2841443522_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_25412724"}], "description": "In order to deprecate/remove the {{puppet cert}} command, we need a replacement tool that can be used to revoke certificates given a certname. This new tool should live under the {{puppetserver ca}} command as part of [the gem|https://github.com/puppetlabs/puppetserver-ca-cli]. It should use the {{certificate-status}} endpoint for revoking the cert.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16561", "fixedVersions": ["SERVER 6.0.0"], "id": "16561", "issueType": "Sub-task", "key": "SERVER-2258", "labels": [], "originalEstimate": "PT0S", "parent": "17269", "parentSummary": "New CLI tools for interacting with CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create a `revoke` subcommand for the new CA CLI", "timeSpent": "PT0S", "updated": "2018-09-19T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "attachments": [], "comments": [], "components": [], "created": "2018-07-23T09:14:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 {{puppetserver ca}} CLI has a subcommand for signing certificates given a hostname"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@78b39866"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzodzz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_605920064_*|*_1_*:*_1_*:*_196713_*|*_10007_*:*_1_*:*_85057564_*|*_3_*:*_1_*:*_1470752463_*|*_5_*:*_1_*:*_2841454580_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_23440751"}], "description": "In order to deprecate/remove the {{puppet cert}} command, we need a replacement tool that can be used to sign certificates given a hostname. This new tool should live under the {{puppetserver ca}} command as part of [the gem|https://github.com/puppetlabs/puppetserver-ca-cli]. The most basic model should use the {{certificate-status}} endpoint for signing, even though this currently does not work with subject alternative names (this case needs some more security discussion and is covered in SERVER-2268).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15926", "fixedVersions": ["SERVER 6.0.0"], "id": "15926", "issueType": "Sub-task", "key": "SERVER-2257", "labels": [], "originalEstimate": "PT0S", "parent": "17269", "parentSummary": "New CLI tools for interacting with CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:17:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create a `sign` subcommand for the new CA CLI", "timeSpent": "PT0S", "updated": "2018-09-19T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-07-20T15:44:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 beaker tests in puppet, puppetserver, pe-pse, and pe-integration use `ca generate` to set up their CAs"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2710b1e7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzodfb:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_178916_*|*_3_*:*_1_*:*_62607121_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_4412559767"}], "description": "Currently, puppetserver generates its CA files on startup. Before we can remove this behavior in favor of require people to run the CA CLI tool to set it up, we need to update our tests to use it, so that things won't break when we actually remove the bootstrapping.\n\nThis will most likely be an update to the install utility methods in [beaker-puppet|https://github.com/puppetlabs/beaker-puppet], though it might implicate some individual tests as well. Tests using utilities from [beaker-pe|https://github.com/puppetlabs/beaker-pe] might also be impacted unless they use the PE installer, which will be separately updated to use this tool (see PE-24739).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15155", "fixedVersions": [], "id": "15155", "issueType": "Sub-task", "key": "SERVER-2256", "labels": [], "originalEstimate": "PT0S", "parent": "15103", "parentSummary": "The CA that signs agent requests should be an intermediate CA by default", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2018-09-10T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update acceptance tests to use the CA CLI to generate puppetserver's CA", "timeSpent": "PT0S", "updated": "2018-09-10T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-07-20T15:36:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* {{puppetserver ca}} has a subommand that creates a CA for puppetserver\n* acceptance test similar to [this test|https://github.com/puppetlabs/puppetserver/blob/master/acceptance/suites/tests/certificate_authority/intermediate_ca.rb] demonstrating the functionality"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7fe82d44"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzode7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1208943425_*|*_1_*:*_1_*:*_653266_*|*_10007_*:*_1_*:*_174468578_*|*_3_*:*_1_*:*_690394649_*|*_5_*:*_1_*:*_4570083430_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_347237019"}], "description": "We should add a new subcommand to the {{puppetserver ca}} CLI tool that takes no arguments and generates an intermediate CA PKI for puppetserver, respecting the CA settings from {{puppetserver.conf}}. This will need to be run before starting the server for the first time in order to set up a default CA. It will also need to be incorporated into the PE installer (see PE-24739).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16336", "fixedVersions": [], "id": "16336", "issueType": "Sub-task", "key": "SERVER-2255", "labels": [], "originalEstimate": "PT0S", "parent": "15103", "parentSummary": "The CA that signs agent requests should be an intermediate CA by default", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-17T16:18:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create `generate` subcommand for the CA CLI tool", "timeSpent": "PT0S", "updated": "2018-10-09T13:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This first PR https://github.com/puppetlabs/puppetserver-ca-cli/pull/5 just adds the utility for reading CA settings out of the HOCON config files for puppetserver. A follow-up PR to actually start using these new settings will be needed once https://github.com/puppetlabs/puppetserver/pull/1728 has been merged.", "created": "2018-07-25T09:22:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] please add release notes for this issue if needed, thanks!", "created": "2018-08-28T09:07:00.000000"}], "components": [], "created": "2018-07-17T14:28:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "{{puppetserver ca}} CLI can parse puppetserver's config files to check for custom CA paths"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@73697baf"}, {"fieldName": "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-8918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1f3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Aug/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_604684444_*|*_1_*:*_1_*:*_41058_*|*_10007_*:*_1_*:*_113862791_*|*_3_*:*_1_*:*_84464842_*|*_5_*:*_1_*:*_4134004428_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_33815_*|*_10005_*:*_1_*:*_589256163"}], "description": "With the work in SERVER-2225, Puppet Server will start configuring its CA based on settings in puppetserver.conf instead of puppet.conf. The new CLI tool needs to start using the new default directory `/etc/puppetlabs/puppetserver/ca`, and read overrides from Puppetserver's conf file.\n\nThings to note:\n1) Puppetserver's config file is HOCON, so we will need to change out the config file parser.\n2) The settings are not guaranteed to be in in the file {{puppetserver.conf}}, because trapperkeeper will read settings in any file in {{conf.d}} and some of our docs reference a separate {{ca.conf}}. The {{--config}} flag in the tool will probably cover us here.", "epicLinkSummary": "Finalize separation of CA from Ruby", "estimate": "PT0S", "externalId": "16558", "fixedVersions": ["SERVER 6.0.0"], "id": "16558", "issueType": "Task", "key": "SERVER-2254", "labels": [], "originalEstimate": "PT0S", "parent": "29493", "parentSummary": "Finalize separation of CA from Ruby", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make CA CLI gem read CA settings from puppetserver.conf instead of puppet.conf", "timeSpent": "PT0S", "updated": "2018-09-19T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "DOCUMENT-889 requests changes to the Server docs to better align them with the current behavior. If this ticket changes the setting's behavior, DOCUMENT-889 might not be necessary.\n\nPlease coordinate changes made in this ticket with the Server docs lead so we can avoid redundant or conflicting changes.", "created": "2018-07-23T12:00:00.000000"}, {"author": "557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0", "body": "When I mentioned this to the server team they asked me to create this ticket, but that this would not happen soon, which is why I also created the docs ticket.", "created": "2018-07-23T12:42:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Yeah, I'm just being as explicit as possible since DOCUMENT and SERVER tickets don't have a lot of visibility across each other even when linked, and Server docs will probably get a new docs lead soon who won't already know the context.", "created": "2018-07-23T14:23:00.000000"}, {"author": "61af86343618cd006f430854", "body": "Hi,\n\nThis sounds like a useful change, have you looked at creating a PR for this? The module's code is open source and we encourage community contributions.\u00a0\n\nWe actively monitor new PRs and review/merge them.\u00a0 Unfortunately, there has not been enough of a demand for this change to prioritize and resource.\n\nThank you for taking the time to create this ticket.", "created": "2022-03-08T09:47:00.000000"}], "components": ["DOCS"], "created": "2018-07-17T10:59:00.000000", "creator": "557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@177dbd0c"}, {"fieldName": "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": "SERVER-792"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzo9sf:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1769477_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_114909502948"}], "description": "It turns out that the jruby profiling does not enable profiling any jruby in spawned threads, making that option not so useful. We should determine if there is a way to get it working for profiling all puppetserver jruby code.", "epicLinkSummary": "Metrics improvements", "estimate": "PT0S", "externalId": "15688", "fixedVersions": [], "id": "15688", "issueType": "Improvement", "key": "SERVER-2253", "labels": ["debugging"], "originalEstimate": "PT0S", "parent": "15326", "parentSummary": "Metrics improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:a69e978d-6cea-49f9-9227-3a3ef8a776c0", "resolution": "Won't Do", "resolutionDate": "2022-03-08T09:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "jruby-settings profiling-mode option only enables profiling on the service startup.", "timeSpent": "PT0S", "updated": "2022-03-08T09:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "This would be helpful in automation. There are places where we need to look at the output of a single certificate, or verify that a certificate is signed versus revoked or pending.  The current sectioned output is nice visually, but difficult to parse. Something that produced unambiguous single line output, or a structured json blob would be handy.", "created": "2018-09-26T17:26:00.000000"}], "components": [], "created": "2018-07-11T12:58: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@7323c3c3"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzo6b3:"}, {"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": "1_*:*_1_*:*_1070233902_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_88430331785"}], "description": "It should at least accept a format of {{json}} in which it outputs in machine parseable json data.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "14819", "fixedVersions": [], "id": "14819", "issueType": "Improvement", "key": "SERVER-2252", "labels": [], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Duplicate", "resolutionDate": "2021-05-12T10:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add `--format` flag to `puppetserver ca` cli tool", "timeSpent": "PT0S", "updated": "2021-05-12T10:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "61b104456d002b006b47d72c", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We're going to release these changes along with the work from SERVER-3006.", "created": "2021-06-29T09:23:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] what is the subject here for integrating the flag? Example: \"In this release, Puppet Server now includes the `--verbose` flag to `puppetserver ca`....\"\u00a0", "created": "2021-07-12T10:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think it's the `puppetserver ca` subcommand and it now honors the `\u2013verbose` flag.", "created": "2021-07-12T12:17:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0To clarify, is the addition of the --verbose flag enough to change the desired tool's output? In docs tab: I do not know what \"when raised\" means", "created": "2021-07-12T12:28:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ahh, I tweaked the release note summary to no longer use that term. Hopefully that helps, let me know if not.", "created": "2021-07-12T13:33:00.000000"}, {"author": "5fc46fd09592df0076141ac0", "body": "thanks [~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0- in the past did Froyo previously document flags for the puppetserver ca subcommand? Cannot find a section where I can include the new `\u2013verbose` flag.\u00a0", "created": "2021-07-12T14:00:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We usually document it at the action level, I don't know that it needs more than a release notes bullet point. Here is the existing ca subcommand docs though: https://puppet.com/docs/puppet/7/server/subcommands.html#ca", "created": "2021-07-12T14:34:00.000000"}], "components": [], "created": "2018-07-11T12:56: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@74c07a0b"}, {"fieldName": "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": "SERVER-2736"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hykebj:4090000694aou"}, {"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": "Added the verbose flag to the `puppetserver ca` subcommand. When the `--verbose` flag is passed additional low level details about the action being invoked will be displayed, notably details regarding http requests that the tool makes will be logged at this level."}, {"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/Jun/21"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1070330083_*|*_3_*:*_1_*:*_1093354802_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_6865931_*|*_10005_*:*_1_*:*_91474295636"}], "description": "With the verbose flag set the command should output information at the debug level. The current output and any additional input that might be valuable should be assessed for whether it should be output at debug.", "epicLinkSummary": "Server CA CLI v2", "estimate": "PT0S", "externalId": "17397", "fixedVersions": ["SERVER 6.16.1", "SERVER 7.2.1"], "id": "17397", "issueType": "Improvement", "key": "SERVER-2251", "labels": ["docs-reviewed", "froyo_intern"], "originalEstimate": "PT0S", "parent": "16352", "parentSummary": "Server CA CLI v2", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2021-06-29T09:23:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add `--verbose` flag to `puppetserver ca` cli tool", "timeSpent": "PT0S", "updated": "2021-07-12T14:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-07-10T08:59:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@16481927"}, {"fieldName": "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-8990"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2hj:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2880_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_805298594"}], "description": "(Initial planned release date: 2018-07-17)\n\n* Update version number in source to point to next snapshot.\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-07-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "estimate": "PT0S", "externalId": "15154", "fixedVersions": [], "id": "15154", "issueType": "Task", "key": "SERVER-2250", "labels": [], "originalEstimate": "PT0S", "parent": "24254", "parentSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-07-19T16:40:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.4)", "timeSpent": "PT0S", "updated": "2018-07-19T16:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] did this happen on Friday or do you plan to do it today?", "created": "2018-07-16T07:17:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'll do it this morning. Going to let the 9k pipelines finish since they're already running, then tag.", "created": "2018-07-16T09:17:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] can this be resolved now?", "created": "2018-07-17T08:48:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Yes. PE pipelines are blocked atm, some sort of issue with bionic packages, so I haven't been able to promote this all the way, but I'm okay resolving this ticket.", "created": "2018-07-17T09:35:00.000000"}], "components": [], "created": "2018-07-10T08:58:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@600d8b29"}, {"fieldName": "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-8990"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2hb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2841_*|*_3_*:*_1_*:*_87574371_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_519411471"}], "description": "(Initial planned release date: 2018-07-17)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Bump and Tag the candidate SHA once passing\n  * Run the \"Lein Release\" job for the release branch. This job will make the\n     appropriate version bump commits and tag the release SHA.\n* Ensure tagged release version is built, tested and artifacts exist at\n  builds.delivery.puppetlabs.net\n  * This may entail manually promoting into PE again.\n", "duedate": "2018-07-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "estimate": "PT0S", "externalId": "17393", "fixedVersions": [], "id": "17393", "issueType": "Task", "key": "SERVER-2249", "labels": [], "originalEstimate": "PT0S", "parent": "24254", "parentSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-07-17T09:35:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.4)", "timeSpent": "PT0S", "updated": "2018-07-17T09:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Since no work is really landing on the 5.3.x branch right now, I'm going to skip making release branches and pipelines this time around.", "created": "2018-07-13T12:47:00.000000"}], "components": [], "created": "2018-07-10T08:58:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@408df880"}, {"fieldName": "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-8990"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2h3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2879_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_272928949"}], "description": "(Initial planned release date: 2018-07-17)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-07-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "estimate": "PT0S", "externalId": "17160", "fixedVersions": [], "id": "17160", "issueType": "Task", "key": "SERVER-2248", "labels": [], "originalEstimate": "PT0S", "parent": "24254", "parentSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Won't Do", "resolutionDate": "2018-07-13T12:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.4)", "timeSpent": "PT0S", "updated": "2018-07-13T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-07-10T08:58:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@500aa0d6"}, {"fieldName": "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-8990"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2gv:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2715_*|*_3_*:*_1_*:*_271825118_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1058091"}], "description": "(Initial planned release date: 2018-07-17)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-07-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "estimate": "PT0S", "externalId": "16766", "fixedVersions": [], "id": "16766", "issueType": "Task", "key": "SERVER-2247", "labels": [], "originalEstimate": "PT0S", "parent": "24254", "parentSummary": "Puppet Platform 5.5.4 Release - 2018-07-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Done", "resolutionDate": "2018-07-13T12:46:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.4)", "timeSpent": "PT0S", "updated": "2018-07-13T12:46:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "How did you start puppetserver? Using the {{puppetserver start}} or {{systemctl start puppetserver}} will put the process in the background so STDOUT for the process is not attached to your terminal and you won't see it. There is a {{puppetserver foreground}} command that will not background the process and should let you see the processes STDOUT in your terminal.", "created": "2018-07-10T11:15:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] sorry, indeed I forgot to write about how i started the service what seems to be the important part here. :-/\nthis was by systemctl start/stop/restart puppetserver. the {{STDOUT}} output I meant the process output captured by systemd that is saved to journald (which is also forwarded to localhost syslog).\n\nAs you write _will put the service in the background_ I think this is my problem here. it will close/redirect stderr/stdout to somewhere else?\n\nSo maybe I'm not looking the ConsoleAppender feature but something that can write to /dev/log which also seems to listend by journald.\n", "created": "2018-07-10T13:48:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "comparing /opt/puppetlabs/server/apps/puppetserver/cli/apps/foreground and /opt/puppetlabs/server/apps/puppetserver/cli/apps/start starting command:\n\n{noformat}\n${JAVA_BIN} ${JAVA_ARGS} -Djava.security.egd=/dev/urandom \\\n\t  -XX:OnOutOfMemoryError=\"kill -9 %p\" \\\n\t  -cp \"${CLASSPATH}\" \\\n\t  clojure.main \\\n\t  -m puppetlabs.trapperkeeper.main \\\n\t  --config \"${CONFIG}\" \\\n\t  --bootstrap-config \"${BOOTSTRAP_CONFIG}\" \\\n\t  --restart-file \"${restartfile}\" &\n{noformat}\n\nand foreground:\n\n{noformat}\nCOMMAND=\"${JAVA_BIN} ${JAVA_ARGS} ${LOG_APPENDER} \\\n         -Djava.security.egd=/dev/urandom \\\n         -cp \"$CLASSPATH\" \\\n         clojure.main -m puppetlabs.trapperkeeper.main \\\n         --config ${CONFIG} --bootstrap-config ${BOOTSTRAP_CONFIG} \\\n         --restart-file \"${restartfile}\" \\\n         ${@}\"\n{noformat}\n\nthe start backgrounds the task whereas foreground does not. But I can't see closing stdout/stderr anywhere in the shell script. So I somehow expect STDOUT should still be available for the java process and thus ConsoleAppender might work.\n\nI was looking for SyslogAppender to write to /dev/log but the only thing I could find by googling was that logback does not support to write to a unix-socket.", "created": "2018-07-10T14:12:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Okay, I'm not sure if this is would be an issue with the defaults in {{/etc/sysconfig/puppetserver}} or the service file and where that might have changed recently. I'll spin up a few versions of the server in the next couple of days to test that out.\n\nYou specifically mention the compiler output, are you seeing much else from the server? Wondering if this could be a change within the Puppet compiler/logger so it no longer respects the server's logging.", "created": "2018-07-10T22:35:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "To prove my assumption that the stdout of a forked process really is captured in journald I've created a dummy stdout service situation:\n\n{noformat}\n#> cat /bin/dummystdout-init \n#!/bin/bash\n\nif [ \"$1\" == \"start\" ]", "created": "2018-07-10T23:01:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] I found my error :-/ . {{journalctl -u puppetserver.service}} only shows lines logged upto when the service enters started state.\n\nthe Puppet compiler messages actually get logged to /var/log/messages and also can be queried by {{journalctl -t puppetserver}}\n\nfrom journalctl help: {{-t --identifier=STRING   Show entries with the specified syslog identifier}}\n\nexample:\n\n{noformat}\n#> journalctl -u puppetserver.service -n\n-- Logs begin at Thu 2018-06-28 19:57:37 UTC, end at Wed 2018-07-11 05:47:02 UTC. --\nJul 11 05:39:57 el7 puppetserver[19437]: 2018-07-11 05:39:57,990 INFO  [async-dispatch-2] [o.e.j.s.AbstractConnector] Started ServerConnector@4bb24e1e{SSL,[ssl, http/1.1]}{0.0.0.0:8140}\nJul 11 05:39:57 el7 puppetserver[19437]: 2018-07-11 05:39:57,990 INFO  [async-dispatch-2] [o.e.j.s.Server] Started @66789ms\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,000 INFO  [async-dispatch-2] [p.t.s.s.status-core] Starting background monitoring of cpu usage metrics\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,026 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'status-service', version 1.0.0\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,026 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,034 INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@4c972f0{/status,null,AVAILABLE}\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,069 INFO  [async-dispatch-2] [p.s.m.master-service] Puppet Server has successfully started and is now ready to handle requests\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,071 INFO  [async-dispatch-2] [p.s.l.legacy-routes-service] The legacy routing service has successfully started and is now ready to handle requests\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,095 INFO  [async-dispatch-2] [p.s.a.analytics-service] Puppet Server Update Service has successfully started and will run in the background\nJul 11 05:39:58 el7 systemd[1]: Started puppetserver Service.\n\n\n#> journalctl -t puppetserver -n \n-- Logs begin at Thu 2018-06-28 19:57:37 UTC, end at Wed 2018-07-11 05:46:26 UTC. --\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,000 INFO  [async-dispatch-2] [p.t.s.s.status-core] Starting background monitoring of cpu usage metrics\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,026 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'status-service', version 1.0.0\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,026 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status service HTTP API at /status\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,034 INFO  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Started o.e.j.s.h.ContextHandler@4c972f0{/status,null,AVAILABLE}\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,069 INFO  [async-dispatch-2] [p.s.m.master-service] Puppet Server has successfully started and is now ready to handle requests\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,071 INFO  [async-dispatch-2] [p.s.l.legacy-routes-service] The legacy routing service has successfully started and is now ready to handle requests\nJul 11 05:39:58 el7 puppetserver[19437]: 2018-07-11 05:39:58,095 INFO  [async-dispatch-2] [p.s.a.analytics-service] Puppet Server Update Service has successfully started and will run in the background\nJul 11 05:41:18 el7 puppetserver[19437]: 2018-07-11 05:41:18,142 WARN  [qtp1531084245-67] [puppetserver] Scope(Class[main]) Test logging\nJul 11 05:41:18 el7 puppetserver[19437]: 2018-07-11 05:41:18,160 WARN  [qtp1531084245-67] [puppetserver] Puppet Unknown variable: '::unknown_var'. (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 7, column: 9)\nJul 11 05:41:18 el7 puppetserver[19437]: 2018-07-11 05:41:18,201 INFO  [qtp1531084245-67] [puppetserver] Puppet Compiled catalog for el7 in environment production in 0.82 seconds\n{noformat}\n\nSomehow the java process behaves differently regarding stdout than the forked bash process in the background. \n", "created": "2018-07-10T23:50:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "can't set the ticket to a closed/invalid state. it's clearly no puppetserver issue. ", "created": "2018-07-10T23:51:00.000000"}], "components": ["Puppet Server"], "created": "2018-07-10T00:18:00.000000", "creator": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "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": "Configuring logback to with ConsoleAppender (STDOUT) shows the same messages as logging with RollingFileAppender (/var/log/pupetlabs/puppetserver/puppetserver.log)"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c64ea8b"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzo50f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "10/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_39432612_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_619925343"}], "description": "*Puppet Version:* 5.5.3\n*Puppet Server Version:* 5.3.3\n*OS Name/Version:* RHEL 7\n\nSteps to reproduce:\n\n* Add STDOUT appender-ref to logback.xml:\n\n{noformat}\n<configuration>\n...\n<root level=\"info\">\n  ...\n  <appender-ref ref=\"STDOUT\" />\n</root>\n</configuration>\n{noformat}\n\n* restart puppetserver systemd service\n* watch puppetserver STDOUT output with {{journalctl -u puppetserver.service}}\n* compare with /var/log/puppetlabs/puppetserver/puppetserver.log \n\n\n*Actual Behavior:*\n\nall Puppet compiler messages are missing on STDOUT\n\nSome example messages not added to STDOUT:\n\nPupppet The function 'xy' is deprecated in favor of using 'lookup' ...\nPuppet This method is deprecated, please use the ...\nPuppet Undefined variable '...' ...\nPuppet Compiled catalog for ... in environment .... in ... seconds\n\n*Desired Behavior:*\nsame logs on STDOUT as in  /var/log/puppetlabs/puppetserver/puppetserver.log \n\n*solution*:\n\n{{journalctl -u puppetserver.service}} only includes messages until puppserver service is started. The java process stdout is still captured and logged to jouranld. \n\nUse {{journalctl -t puppetserver}} to get the logs.", "environment": "RHEL 7 with Systemd", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15925", "fixedVersions": [], "id": "15925", "issueType": "Bug", "key": "SERVER-2246", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "resolution": "Cannot Reproduce", "resolutionDate": "2018-07-17T15:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "No puppet compiler logs with STDOUT logback logging", "timeSpent": "PT0S", "updated": "2018-07-17T15:28:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c0b74761efb0069ce021d", "attachments": [{"attacher": "623c0b74761efb0069ce021d", "created": "2018-07-11T21:46:00.000000", "name": "journalctl_logs.txt", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11051"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We'll need the information from {{journalctl -xe}} as it mentions in the error. There may be pertinent information in the syslog as well as in {{/var/log/puppetlabs/puppetserver/puppetserver.log}} if you could post that.\n\nThanks", "created": "2018-07-09T11:47:00.000000"}, {"author": "623c0b74761efb0069ce021d", "body": "Hi justin Stoller,\n\nThanks for ur support\n\nplease find below\u00a0journalctl -xe information\n\nshyam@ubuntu:~$ journalctl -xe\nJul 10 08:12:15 ubuntu systemd[1]: Stopped CUPS Scheduler.\n-- Subject: Unit cups.service has finished shutting down\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups.service has finished shutting down.\nJul 10 08:12:15 ubuntu systemd[1]: Stopped CUPS Scheduler.\n-- Subject: Unit cups.path has finished shutting down\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups.path has finished shutting down.\nJul 10 08:12:15 ubuntu systemd[1]: Stopping CUPS Scheduler.\n-- Subject: Unit cups.path has begun shutting down\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups.path has begun shutting down.\nJul 10 08:12:15 ubuntu systemd[1]: Started CUPS Scheduler.\n-- Subject: Unit cups.path has finished start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups.path has finished starting up.\n-- \n-- The start-up result is done.\nJul 10 08:12:16 ubuntu systemd[1]: Started CUPS Scheduler.\n-- Subject: Unit cups.service has finished start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups.service has finished starting up.\n-- \n-- The start-up result is done.\nJul 10 08:12:16 ubuntu systemd[1]: Started Make remote CUPS printers available locally.\n-- Subject: Unit cups-browsed.service has finished start-up\n-- Defined-By: systemd\n-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel\n-- \n-- Unit cups-browsed.service has finished starting up.\n-- \n-- The start-up result is done.\nJul 10 08:13:26 ubuntu gnome-session[2974]: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.\nJul 10 08:14:26 ubuntu polkitd(authority=local)[1326]: Operator of unix-session:c2 successfully authenticated as unix-user:shyam to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-\nJul 10 08:14:34 ubuntu pkexec[3884]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)\nJul 10 08:14:34 ubuntu pkexec[3884]: pam_systemd(polkit-1:session): Cannot create session: Already running in a session\nJul 10 08:14:34 ubuntu pkexec[3884]: shyam: Executing command [USER=root] [TTY=unknown] [CWD=/home/shyam] [COMMAND=/usr/lib/update-notifier/package-system-locked]\nJul 10 08:15:07 ubuntu anacron[1117]: Job `cron.daily' terminated\nJul 10 08:15:07 ubuntu anacron[1117]: Normal exit (1 job run)\n\n\u00a0\n\n\u00a0\n\n----------------------------------------\n\nI am unable to access\u00a0/puppetserver/puppetserver.log, for provideing data could you help in that.\n\nThanks & Regards\n\nSaisyam\n\n\u00a0\n\n\u00a0", "created": "2018-07-10T09:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "# That output doesn't actually include any information about the puppetserver process. You should run {{journalctl -xe}} after {{systemctl start puppetserver}} fails and tells you to. If there's no output in there regarding puppetserver that's weird and ultimately not helpful.\n# Why are you unable to view the puppetserver logs? Is there a permissions problem? Perhaps whatever permissions issue that's keeping you from opening the logs is preventing puppetserver from opening its logs.\n# You may want to also check for useful information, as {{systemctl}} recommends, the output of {{systemctl status puppetserver.service}}.", "created": "2018-07-10T11:23:00.000000"}, {"author": "623c0b74761efb0069ce021d", "body": "[^journalctl_logs.txt]\n\nHi justin Stoller,\n\nThanks for ur support\n\nPlease find attachment for logs\n\nThanks", "created": "2018-07-11T21:46:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "In the log I see you starting {{systemctl start puppet}} and {{systemctl start puppet.service}} but not {{systemctl start puppetserver}} or {{systemctl start puppetserver.service}} without output from that I'm sorry but I can't help you [~accountid:623c0b74761efb0069ce021d]. ", "created": "2018-07-17T15:26:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Going to close this since it hasn't had any activity in quite some time. Please file a new ticket or reopen if you're still having issues.", "created": "2022-02-22T15:57:00.000000"}], "components": [], "created": "2018-07-07T03:28:00.000000", "creator": "623c0b74761efb0069ce021d", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2417d458"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzo48v:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_202776260_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_114412197689"}], "description": "Hi team I am new to puppet installation process after inastallation puppet in ubuantu ,unable to start puppet server and also getting below error\n\nplease lookinto this and help me to over come from this\n\n/etc/apt/sources.list.d$ puppet resource service puppetserver ensure=running\n Error: Could not start Service[puppetserver]: Execution of '/bin/systemctl start puppetserver' returned 1: Job for puppetserver.service failed because the control process exited with error code. See \"systemctl status puppetserver.service\" and \"journalctl -xe\" for details.\n Error: /Service[puppetserver]/ensure: change from stopped to running failed: Could not start Service[puppetserver]: Execution of '/bin/systemctl start puppetserver' returned 1: Job for puppetserver.service failed because the control process exited with error code. See \"systemctl status puppetserver.service\" and \"journalctl -xe\" for details.\n service\n\n{ 'puppetserver': ensure => 'stopped', }\n\n\u00a0\n\nThanks\u00a0\n\nSaisyam vangara\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15685", "fixedVersions": [], "id": "15685", "issueType": "Task", "key": "SERVER-2245", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0b74761efb0069ce021d", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-22T15:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Unable to restart/start puppet server in ubuntu 16.04", "timeSpent": "PT0S", "updated": "2022-02-22T15:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5b34b9718f518562607d35db", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{{confdir}} and {{vardir}} are special and are set before any other settings are resolved (they're needed to know where to read the config file you're setting them in for instance). If you must set vardir or confdir then you should do it from the cli when you invoke puppet, ie {{puppet agent --confdir /etc/puppet --vardir /var/lib/puppet}} It should then read the puppet.conf at {{/etc/puppet/puppet.conf}} and apply the settings normally. ", "created": "2018-07-06T14:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Let me know the current state of things [~accountid:5b34b9718f518562607d35db]", "created": "2018-07-17T15:28:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Closing this, since it hasn't gotten any activity in quite some time. Please reopen if you're still having issues.", "created": "2022-02-22T15:56:00.000000"}], "components": ["Puppet Server"], "created": "2018-07-05T06:46:00.000000", "creator": "5b34b9718f518562607d35db", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27ee5649"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzo333:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_112553374_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_114663274171"}], "description": "My problem is very similar to [this issue|https://puppet.atlassian.net/browse/SERVER-142], however my problem does not go away when I delete /var/lib/puppet/ssl\u00a0directory.\n\nSo, I have a Puppet Master that is also configured as its agent. Since I prefer a bit different directory structure that currently Puppet uses (I prefer the previous convention), I overridden some paths in the config:\n\n\u00a0\n{noformat}\n[main]\nlogdir = /var/log/puppet\nvardir = /var/lib/puppet\nssldir = /var/lib/puppet/ssl\nrundir = /var/run/puppet\nfactpath = $vardir/lib/facter\nconfdir = /etc/puppet\ncodedir = /etc/puppet\n[agent]\nserver = central.int.example.com\n[master]\ndaemonize = false\nssl_client_header = SSL_CLIENT_S_DN\nssl_client_verify_header = SSL_CLIENT_VERIFY\ndns_alt_names = puppet,puppet.szervernet.hu\n{noformat}\n\u00a0\n\nWhen I start agent, it does not pick up the overridden ssldir, nor the server directive under its own section.\n\n\u00a0\n{noformat}\nroot@central:/etc/puppet# puppet agent --configprint ssldir\n/etc/puppetlabs/puppet/ssl\nroot@central:/etc/puppet#{noformat}\nI deleted /var/lib/puppet/ssl twice in a row and did not helped. But regardless of this, I think agent *have to* pick up overridden settings. Even if it's not follows any standards. If master can use these settings, agent have to do so.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16335", "fixedVersions": [], "id": "16335", "issueType": "Bug", "key": "SERVER-2244", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5b34b9718f518562607d35db", "resolution": "Fixed", "resolutionDate": "2022-02-22T15:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "[Puppet Agent] Agent cannot resolve ssldir correctly", "timeSpent": "PT0S", "updated": "2022-02-22T15:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hi, [~accountid:557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a]. That does look like the same issue. Can you try upgrading to the latest Puppet Server release in the 2.x series (2.8.1) and see if that resolves your problem?", "created": "2018-07-03T10:07:00.000000"}, {"author": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "body": "Hi\u00a0[~accountid:557058:104b5720-714d-4539-b455-df472251ec89],\n\nUnfortunately we couldn't upgrade the puppet server for now as this happened in the prod puppet master.\u00a0\n\nTo elaborate more on the issue we had, this has happened during the catalog compilation and it fails at the below code\n\n{code}\n\ncase $consul_replicate::init_style {\n 'systemd':{\n file { '/lib/systemd/system/consul-replicate.service':\n mode => '0644',\n owner => 'root',\n group => 'root',\n content => template('consul_replicate/consul-replicate.systemd.erb')\n } ~>\n\n\u00a0\n\n{code}\n\n\u00a0\n\nIt is not able to create the consul_replicate.service as it failed to parse consul-replicate.systemd.erb template.\n\nThe consul-replicate.systemd.erb file has the following,\n\n{code}\n\n[Unit]\nDescription=Consul-Replicate Daemon\nWants=basic.target\nAfter=basic.target network.target\n\n[Service]\nExecStart=<%= scope.lookupvar('consul_replicate::bin_dir') %>/consul-replicate \\\n -config <%= scope.lookupvar('consul_replicate::config_dir') %>/config.hcl <%= scope.lookupvar('consul_replicate::extra_options') %>\nExecReload=/bin/kill -HUP $MAINPID\nSuccessExitStatus=0 12\nRestart=on-failure\nRestartSec=10s\nLimitNOFILE=4096\n\n[Install]\nWantedBy=multi-user.target\n\n{code}", "created": "2018-07-03T19:36:00.000000"}, {"author": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "body": "And the consul_replicate version used is v0.3.1", "created": "2018-07-04T17:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "So in that linked ticket they have a work around that doesn't involve upgrading. They found that this issue is caused when an unknown variable is looked up and can be worked around by updating the template to include this:\n{code}\nval = scope.exists?(name) ? scope.lookupvar(name) : nil\n{code}\ndo you might want to try replacing references to lookuvar like {{scope.lookupvar('consul_replicate::bin_dir')}} with something more like\n{code}\nscope.exists?('consul_replicate::bin_dir') ? scope.lookupvar('consul_replicate::bin_dir') : nil\n{code}", "created": "2018-07-06T14:16:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Did that work around solve your issue [~accountid:557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a]?", "created": "2018-07-17T15:29:00.000000"}, {"author": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "body": "Thanks [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Its fixed.", "created": "2018-07-19T22:35:00.000000"}], "components": ["Puppet Server"], "created": "2018-07-02T20:24:00.000000", "creator": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a074938"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzo1rz:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_49379532_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_1427291038"}], "description": "I had a look at this ticket https://puppet.atlassian.net/browse/SERVER-1408\u00a0\n\nLet me know if this issue is related to the puppet server.\u00a0\n\n\u00a0\n\nBelow is the stacktrace log,\n\nInfo: Using configured environment 'development'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nError: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Failed to parse template <template file>:\n\u00a0\u00a0Filepath: org/jruby/RubyKernel.java\n\u00a0\u00a0Line: 1320\n\u00a0\u00a0Detail: integer _*<number>*_ too big to convert to `int'\n at\u00a0\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/+rest.rb:212:in+ `is_http_200?'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/+rest.rb:110:in+ `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/+indirection.rb:194:in+ `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:377:in `block in retrieve_new_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+util.rb:386:in+ `block in thinmark'\n/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:385:in `thinmark'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:376:in `retrieve_new_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+configurer.rb:78:in+ `retrieve_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+configurer.rb:147:in+ `prepare_and_retrieve_catalog'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+configurer.rb:281:in+ `run_internal'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+configurer.rb:186:in+ `block in run'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/+context.rb:65:in+ `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:240:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/con", "environment": "puppet 4.5.2, puppet server\u00a02.0.9", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17158", "fixedVersions": [], "id": "17158", "issueType": "Bug", "key": "SERVER-2243", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e027b668-be4d-49ab-bf28-0bbf6c095b6a", "resolution": "Fixed", "resolutionDate": "2018-07-19T22:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "integer <number> too big to convert to `int'", "timeSpent": "PT0S", "updated": "2018-07-19T22:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Without a major change to how the commands are managed/invoked I don't think we can display the help for those commands when we can't load the config dir, however their help output (like for ruby) wouldn't help much since the error is a Puppet Server specific configuration problem.\n\nWe could remove the stack trace and clean up the subcommand error so it is just (something like):\n{code}~ $ /opt/puppetlabs/bin/puppetserver ruby --help\nError: /etc/puppetlabs/puppetserver/conf.d must exist and must be readable by the current user\n~ $ echo $?\n0\n{code}", "created": "2018-07-17T16:24:00.000000"}, {"author": "623c0b5ca1d81f0069d8de18", "body": "I had a suspicion that loading configuration to display help is necessary (with faces and such).\n\nI'll be quite happy simply getting a decent error message like you're suggesting rather than having to decipher my problem from the ruby traceback.", "created": "2018-07-18T01:36:00.000000"}], "components": [], "created": "2018-07-02T05:52:00.000000", "creator": "623c0b5ca1d81f0069d8de18", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4de26c05"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzo0qn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3917991649_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_108771892214"}], "description": "*Puppet Version: Puppet Enterprise 2018.1.0*\n *Puppet Server Version:2018.1.0.41*\n *OS Name/Version: RedHat Enterprise Linux 7.3*\n\nWhen running puppetserver <subcommand> --help as an unprivileged user it can't load\u00a0/etc/puppetlabs/puppetserver/conf.d and gives a ruby backtrace.\n\n*Desired Behavior:*\n\nReturn normal help output instead of the ruby backtrace. If it needs to run as root to be able to load commands and provide help give a warning.\n\n*Actual Behavior:*\n\n~ $ /opt/puppetlabs/bin/puppetserver ruby --help\nException in thread \"main\" java.io.FileNotFoundException: Configuration path '/etc/puppetlabs/puppetserver/conf.d' must exist and must be readable.\n at puppetlabs.trapperkeeper.config$get_files_from_config.invokeStatic(config.clj:82)\n at puppetlabs.trapperkeeper.config$get_files_from_config.invoke(config.clj:76)\n at clojure.core$map$fn__4785.invoke(core.clj:2644)\n at clojure.lang.LazySeq.sval(LazySeq.java:40)\n at clojure.lang.LazySeq.seq(LazySeq.java:49)\n at clojure.lang.RT.seq(RT.java:521)\n at clojure.core$seq__4357.invokeStatic(core.clj:137)\n at clojure.core$seq__4357.invoke(core.clj:137)\n at clojure.core$tree_seq$walk__5273$fn__5274.invoke(core.clj:4763)\n at clojure.lang.LazySeq.sval(LazySeq.java:40)\n at clojure.lang.LazySeq.seq(LazySeq.java:49)\n at clojure.lang.LazySeq.more(LazySeq.java:85)\n at clojure.lang.RT.more(RT.java:697)\n at clojure.core$rest__4343.invokeStatic(core.clj:73)\n at clojure.core$flatten.invokeStatic(core.clj:6850)\n at clojure.core$flatten.invoke(core.clj:6850)\n at puppetlabs.trapperkeeper.config$load_config.invokeStatic(config.clj:96)\n at puppetlabs.trapperkeeper.config$load_config.invoke(config.clj:90)\n at puppetlabs.puppetserver.cli.subcommand$load_tk_config.invokeStatic(subcommand.clj:23)\n at puppetlabs.puppetserver.cli.subcommand$load_tk_config.invoke(subcommand.clj:17)\n at puppetlabs.puppetserver.cli.subcommand$run.invokeStatic(subcommand.clj:44)\n at puppetlabs.puppetserver.cli.subcommand$run.invoke(subcommand.clj:33)\n at puppetlabs.puppetserver.cli.subcommand$jruby_run.invokeStatic(subcommand.clj:60)\n at puppetlabs.puppetserver.cli.subcommand$jruby_run.invoke(subcommand.clj:56)\n at puppetlabs.puppetserver.cli.ruby$_main.invokeStatic(ruby.clj:13)\n at puppetlabs.puppetserver.cli.ruby$_main.doInvoke(ruby.clj:11)\n at clojure.lang.RestFn.invoke(RestFn.java:457)\n at clojure.lang.Var.invoke(Var.java:394)\n at clojure.lang.AFn.applyToHelper(AFn.java:165)\n at clojure.lang.Var.applyTo(Var.java:700)\n at clojure.core$apply.invokeStatic(core.clj:646)\n at clojure.main$main_opt.invokeStatic(main.clj:314)\n at clojure.main$main_opt.invoke(main.clj:310)\n at clojure.main$main.invokeStatic(main.clj:421)\n at clojure.main$main.doInvoke(main.clj:384)\n at clojure.lang.RestFn.invoke(RestFn.java:512)\n at clojure.lang.Var.invoke(Var.java:409)\n at clojure.lang.AFn.applyToHelper(AFn.java:178)\n at clojure.lang.Var.applyTo(Var.java:700)\n at clojure.main.main(main.java:37)\n~ $ ls -l /etc/puppetlabs/puppetserver/\nls: cannot open directory /etc/puppetlabs/puppetserver/: Permission denied", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17103", "fixedVersions": [], "id": "17103", "issueType": "Bug", "key": "SERVER-2242", "labels": ["final_triage", "low-hanging-fruit", "usability"], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0b5ca1d81f0069d8de18", "resolution": "Won't Fix", "resolutionDate": "2022-01-26T11:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "/opt/puppetlabs/bin/puppetserver <command> --help backtraces as non-root", "timeSpent": "PT0S", "updated": "2022-01-26T11:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "623c09751c7f6a007049e417", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "In general, the first thing would be to try and reproduce this with the least complex setup possible.\nIn doing that first it would be great to know what versions of Puppet, Puppet Server, and Apache module you're working with.\n\nHowever, from the stack trace it looks like there's an invalid tag being created, and from the content of the tag it looks like it is something that could be interpretted by Ruby as a number in hex format rather than a string: {{puppet::resource::type:0x15418fcd}}. Is there a value being passed into the hosts manifests that exhibit this failure that could be coerced into hex?\n\nI'll look into how that could happen from the code side if you could try that reproduction experiment on your side.", "created": "2018-07-03T09:43:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That error is new in recent releases of Puppet/Puppet Server (I wrote it\u00a0 : | ). It should only cause an issue when the string given can't be converted to UTF-8 or ASCII (all manifests should be interpreted as UTF-8 and Ruby functions may create ASCII). If you can give me an example usage of the apache module that triggers this (potentially with your locale settings), I'll see if I can trace this through.", "created": "2018-07-03T10:45:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Is this still an issue for you [~accountid:623c09751c7f6a007049e417]? I'd love to figure out what is causing this issue, if you can help me reproduce it.", "created": "2018-07-17T16:25:00.000000"}], "components": ["Puppet Server"], "created": "2018-07-02T01:20:00.000000", "creator": "623c09751c7f6a007049e417", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@433d16f1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzo0ov:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "03/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_116593587_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_116129568921"}], "description": "I've got the following issue on my puppet node :\u00a0\n{code:java}\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Invalid tag '#<puppet::resource::type:0x15418fcd>' at /etc/puppetlabs/code/environments/integration/modules/apache/manifests/vhost.pp:477:7 at /etc/puppetlabs/code/environments/integration/modules/apache/manifests/init.pp:361 on node ra1sxlrd1n.xxx\n{code}\n\nHere is the full stack on server\n{code}\n2018-07-02 09:08:38,656 ERROR [qtp1040887762-70] [puppetserver] Puppet Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Invalid tag '#<puppet::resource::type:0x15\n418fcd>' at /etc/puppetlabs/code/environments/integration/modules/apache/manifests/vhost.pp:477:7  at /etc/puppetlabs/code/environments/integration/modules/apache/manifests/init.pp:361 on node ra1sxlrd1n.xxx\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tagging.rb:27:in `tag'\norg/jruby/RubyArray.java:1613:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/tagging.rb:13:in `tag'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:285:in `initialize'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:360:in `resource'\n/etc/puppetlabs/code/environments/integration/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb:45:in `real_function_defined_with_params'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/functions.rb:174:in `function_defined_with_params'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/functions.rb:167:in `function_defined_with_params'\n/etc/puppetlabs/code/environments/integration/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb:38:in `real_function_ensure_resource'\norg/jruby/RubyArray.java:1613:in `each'\n/etc/puppetlabs/code/environments/integration/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb:36:in `real_function_ensure_resource'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/functions.rb:174:in `function_ensure_resource'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/functions.rb:167:in `function_ensure_resource'\n/etc/puppetlabs/code/environments/integration/modules/apache/manifests/vhost.pp:477:in `stack'\norg/jruby/RubyKernel.java:1111:in `eval'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/puppet_stack.rb:30:in `stack'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/runtime3_support.rb:283:in `call_function'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:917:in `call_function_with_block'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:886:in `eval_CallNamedFunctionExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:69:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:981:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:944:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:979:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:69:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:622:in `eval_BlockExpression'\norg/jruby/RubyArray.java:1613:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:622:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:69:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:981:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/scope.rb:944:in `with_guarded_scope'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:979:in `eval_IfExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:69:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:622:in `eval_BlockExpression'\norg/jruby/RubyArray.java:1613:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:622:in `eval_BlockExpression'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/visitor.rb:69:in `visit_this_1'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/parser/evaluating_parser.rb:63:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast/pops_bridge.rb:32:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/ast.rb:31:in `safeevaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/type.rb:182:in `evaluate_code'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:81:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/resource.rb:73:in `evaluate'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:587:in `evaluate_definitions'\norg/jruby/RubyArray.java:1613:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:585:in `evaluate_definitions'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:584:in `evaluate_definitions'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/errors.rb:64:in `exceptwrap'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:583:in `evaluate_definitions'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:611:in `evaluate_generators'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:608:in `evaluate_generators'\norg/jruby/RubyKernel.java:1511:in `loop'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:605:in `evaluate_generators'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:187:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:187:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:241:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:162:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:33:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:266:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:264:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:223:in `benchmark'\n/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/lib/ruby/1.9/benchmark.rb:295:in `realtime'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:222:in `benchmark'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:262:in `compile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:53:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:194:in `find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:121:in `do_find'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:48:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:241:in `override'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/api/indirected_routes.rb:47:in `call'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `process'\norg/jruby/RubyArray.java:1613:in `each'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/route.rb:87:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:60:in `process'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:58:in `process'\nfile:/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/puppetserver-lib/puppet/server/master.rb:42:in `handleRequest'\nPuppet$$Server$$Master_1072808802.gen:13:in `handleRequest'\nrequest_handler_core.clj:273:in `invoke'\njruby_request.clj:46:in `invoke'\njruby_request.clj:31:in `invoke'\nrequest_handler_service.clj:34:in `handle_request'\nrequest_handler.clj:3:in `invoke'\nrequest_handler.clj:3:in `invoke'\ncore.clj:2493:in `invoke'\nring_middleware.clj:284:in `invoke'\ncore.clj:168:in `invoke'\ncore.clj:211:in `invoke'\ncore.clj:45:in `invoke'\ncore.clj:330:in `invoke'\ncore.clj:51:in `invoke'\nringutils.clj:86:in `invoke'\nmaster_core.clj:428:in `invoke'\nring.clj:21:in `invoke'\nring.clj:12:in `invoke'\ncomidi.clj:249:in `invoke'\njetty9_core.clj:424:in `invoke'\nnormalized_uri_helpers.clj:80:in `invoke'\n{code}\n\nPuppet version:\npuppetserver-2.5.0-1.el7\n\nHere is the puppet code\n{code}\ninclude apache\n{code}\n\nThis problem occurs also on another puppet code (e.g. tomcat module). The error pattern seems to be a call to stdlib function 'ensure_resource' on any defined resource type.\n\nThis problem appears recently, and I need help to find what type of change or configuration can produce this issue.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17101", "fixedVersions": [], "id": "17101", "issueType": "Bug", "key": "SERVER-2241", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c09751c7f6a007049e417", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T10:56:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Invalid tag '#<puppet::resource::type:0x15 418fcd>", "timeSpent": "PT0S", "updated": "2022-03-08T10:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Is it possible to use Puppet settings w/o Puppet automatically creating and applying the settings catalog?\n\nI was under the impression that it wasn't and we'd need to make that configurable first (PUP-8682).", "created": "2018-06-27T10:20:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "If we're able to use mulithreaded = true pervasively this will be a lot less of an issue.\u00a0 I'd like to wait to see how multithreaded goes and come back to this after we have more info.\u00a0\u00a0", "created": "2020-03-26T11:53:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Besides the performance of starting up a JRuby, I think this is ultimately a packaging issue (these settings should be set by the puppetserver package, if possible).\n\nNot actually using the server to apply a local catalog is also one of two things requiring us to load core types and providers. It would valuable from a maintenance perspective to say the t&p code is not a server-side concern.", "created": "2020-03-26T14:05:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "[~accountid:5b9fcedc03b52466f05c4510] has PR up to allow the settings catalog to be skipped, see https://github.com/puppetlabs/puppet/pull/8356.\n\nI modified puppetserver to set that setting to false and the time to create a JRuby instance went from 11.1 to 3.8 seconds. Puppetserver relied on the settings catalog to load parts of puppet, so I had to add the following explicit requires:\n\n{code:diff}\ndiff --git a/src/ruby/puppetserver-lib/puppet/server/puppet_config.rb b/src/ruby/puppetserver-lib/puppet/server/puppet_config.rb\nindex 17b5ab96..5a988af4 100644\n--- a/src/ruby/puppetserver-lib/puppet/server/puppet_config.rb\n+++ b/src/ruby/puppetserver-lib/puppet/server/puppet_config.rb\n@@ -1,6 +1,12 @@\n require 'puppet/server'\n require 'puppet/server/logger'\n \n+require 'puppet/indirector'\n+require 'puppet/file_serving/content'\n+require 'puppet/file_serving/metadata'\n+require 'puppet/file_bucket/file'\n+require 'puppet/node'\n+\n class Puppet::Server::PuppetConfig\n \n   # Configure the Puppet.settings object\n{code}\n\n{quote}\nIt would valuable from a maintenance perspective to say the t&p code is not a server-side concern.\n{quote}\n\nCompletely agree. In the past we've had problems where the settings catalog loads the file type and the concat module loads parts of the file type, eg [owner, group, mode|https://github.com/puppetlabs/puppetlabs-concat/blob/203b751702ee155198c535c08443df7b9fef2e4e/lib/puppet/type/concat_file.rb#L1-L3], see PUP-8733 and SERVER-40", "created": "2020-10-05T16:01:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I think the title of this got messed up. I've put it back to the old thing.", "created": "2021-02-18T18:03:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Ah no worries, I changed it earlier to more accurately reflect the \"why\" as opposed to the \"how\". AFAIK, this is the last bit that's preventing us from no longer loading types and providers in pupetserver (even when using pcore resource types) due to the way the settings catalog triggers type/provider loading and all of the provider confining logic, which triggers facter, etc.", "created": "2021-02-18T21:36:00.000000"}], "components": [], "created": "2018-06-26T23:49: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@1d61d8d7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0u96s"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Jun/18"}], "description": "Each JRuby instance applies a settings catalog to ensure the server's file/directories exist and have the correct permissions:\n\n{code:ruby}\n    Puppet.settings.use :main, :master, :ssl, :metrics\n{code}\n\nThis doubles the amount of time it takes to initialize the JRuby instance:\n\nWhen settings catalog is initialized (9.52 seconds)\n\n{noformat}\n2018-06-26 22:34:21,228 DEBUG [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1\n2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Finished running lifecycle function 'init' for service ':VersionedCodeService'\n2018-06-26 22:34:21,229 INFO  [clojure-agent-send-pool-5] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.\n2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Running lifecycle function 'init' for service ':PuppetServerConfigService'\n2018-06-26 22:34:25,553 INFO  [clojure-agent-send-pool-5] [puppetserver] Puppet Puppet settings initialized; run mode: master\n2018-06-26 22:34:25,558 DEBUG [clojure-agent-send-pool-5] [p.s.j.puppet-environments] Registering environment 'production'\n2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Caching environment 'production' (ttl = 0 sec)\n2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Applying settings catalog for sections main, master, ssl, metrics\n...\n2018-06-26 22:34:30,748 INFO  [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1\n{noformat}\n\nWhen the settings catalog is skipped (4.229 seconds)\n\n{noformat}\n2018-06-26 22:31:51,944 DEBUG [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1\n2018-06-26 22:31:51,944 INFO  [clojure-agent-send-pool-2] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.\n2018-06-26 22:31:56,173 INFO  [clojure-agent-send-pool-2] [puppetserver] Puppet Puppet settings initialized; run mode: master\n...\n2018-06-26 22:31:56,682 INFO  [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1\n{noformat}\n\nWe could only apply the settings catalog once when puppetserver starts, and skip it for each additional JRuby instance, saving about 5 seconds each time.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16765", "fixedVersions": [], "id": "16765", "issueType": "Improvement", "key": "SERVER-2240", "labels": ["ondeck3", "performance"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:91233464-4152-4228-81dd-172d43a52a03", "status": "Accepted", "statusCategory": "To Do", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Only apply settings catalogs once", "timeSpent": "PT0S", "updated": "2022-03-09T09:44:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-06-22T11:31:00.000000", "creator": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@66b0ad10"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hznugn:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_7523483204_*|*_5_*:*_1_*:*_173695201_*|*_6_*:*_1_*:*_0"}], "description": "Java 11 will remove modules deprecated in Java 9 that we currently use (indirectly) to run puppetserver.\n\n\u00a0\nWe need to update our version of liberator to the version here:\n\n[https://github.com/puppetlabs/clj-parent/pull/114]\n\nThat PR includes discussion of how to update Puppet Server's code and tests when we upgrade.\n\n\u00a0\n\nAlso, Puppet Server's test suite makes use of HexBinaryAdapter [here|https://github.com/puppetlabs/puppetserver/blob/master/test/integration/puppetlabs/services/jruby/request_handler_test.clj#L4] we will need to remove that from the test because it will be removed in Java 11.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14790", "fixedVersions": ["SERVER 6.0.0"], "id": "14790", "issueType": "Improvement", "key": "SERVER-2239", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "resolution": "Fixed", "resolutionDate": "2018-09-17T13:22:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Java 11 Dependency Support", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-06-21T14:38:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "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": "PR testing for Puppet can be ocnfigured to run Puppet acceptance tests marked with \"server\""}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5e5879c0"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2in:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_350038402_*|*_1_*:*_1_*:*_1073833_*|*_10007_*:*_1_*:*_686538245_*|*_3_*:*_1_*:*_91231354_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_435933391_*|*_10005_*:*_1_*:*_27826"}], "description": "Currently, the PR testing against the Puppet repo runs the subset of tests in the repo that target agent functionality (no master). However, when targeting code that is to be ran on the master, or whose point is coordination with a master, it makes sense to run the tests that utilize the master. \n\nIn the test suite itself the those tests are tagged with the tag \"server\" and that tests with that tag are normally excluded.\n\nWe should update the puppet PR testing to allow toggling whether or not to run tests tagged with \"server\".", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "14787", "fixedVersions": [], "id": "14787", "issueType": "Task", "key": "SERVER-2238", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2018-07-09T17:19:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Make \"jenkins please test this\" in agent testing configurable so it can run tests tagged \"server\"", "timeSpent": "PT0S", "updated": "2018-07-09T17:19:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] did this get through CI yet?", "created": "2018-07-13T13:33:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Running now, had a test issue.\n\nUpdate: it's through FOSS, enough for the release. We still need to add this platform to the PE pipelines.", "created": "2018-07-13T14:11:00.000000"}], "components": [], "created": "2018-06-20T13:27:00.000000", "creator": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "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 Server packages for Ubuntu 18.04 are available on the build server\n* All of Puppet Server's acceptance tests are run with the server running on Ubuntu 18.04"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@294cf9b0"}, {"fieldName": "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-8953"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1pb:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_508016662_*|*_1_*:*_1_*:*_2568550_*|*_10007_*:*_2_*:*_7394088_*|*_3_*:*_2_*:*_1563433_*|*_5_*:*_1_*:*_54154790_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_111901630_*|*_10005_*:*_1_*:*_1712724642"}], "description": "Once RE has completed the EZBake work for this (see RE-11085), we need to update our CI jobs to include Ubuntu 18.04 in our build and test matrices. If this reveals any issues with the new OS that need to be fixed, separate tickets can be filed with the details.", "epicLinkSummary": "Ship platform master for Ubuntu 18.04", "estimate": "PT0S", "externalId": "17099", "fixedVersions": ["SERVER 5.3.4"], "id": "17099", "issueType": "Task", "key": "SERVER-2237", "labels": [], "originalEstimate": "PT0S", "parent": "25274", "parentSummary": "Ship platform master for Ubuntu 18.04", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8", "resolution": "Fixed", "resolutionDate": "2018-07-18T07:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Build and Test Puppet Server for Ubuntu 18.04", "timeSpent": "PT0S", "updated": "2018-07-18T07:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I was able to get this to work just fine, creating a custom report processor inside Puppet installed under {{vendor_ruby}}. Did you perhaps not add the new processor to your {{reports}} setting as described near the bottom of https://puppet.com/docs/puppet/5.0/reporting_write_processors.html? Neither custom handlers nor the built-in \"log\" handler are enabled by default.\n\nIt would also be important to restart puppetserver after adding your new processor.", "created": "2018-06-22T17:33:00.000000"}, {"author": "61ba0348acc926006a06fc59", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] That was exactly what I did. I tried on a fresh server, just for the build in log handler. The result and log message was the same. The log handler was not found.", "created": "2018-06-28T15:13:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "I observe the similar behavior with\u00a0puppetlabs-tagmail (v2.4.0) and puppetserver 5.3.5\n\nAs far as I can see, module puts tagmail.rb into\u00a0\n\n/opt/puppetlabs/puppet/cache/lib/puppet/reports/tagmail.rb and that location is ignored by puppetserver. Copying manually report inside\u00a0\n\n/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports fixes the issue, but I don't think that works as 'designed'\n\n\u00a0\n\n\u00a0\n\n\u00a0", "created": "2018-09-22T10:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "So I'm actually hearing two different reports here. The original description on this ticket seems to say that putting the report processor in a module fixes the problem, while the most recent comment says it doesn't work in that case, and only works if the code is dropped directly into the Puppet install.\n\nI personally have gotten it working installing the report processor directly, and haven't tried the module install.", "created": "2019-02-13T15:44:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "It was reported long time ago, so I don't remember exact details, but I think the problem was fixed in the latest versions of puppetserver, which now adds both directories in \n\n{noformat}\n    ruby-load-path: [\n        \"/opt/puppetlabs/puppet/lib/ruby/vendor_ruby\",\n        \"/opt/puppetlabs/puppet/cache/lib\"\n    ]\n{noformat}\n\nThere is still a problem with report processors installed by modules, since module has to track changes in lib/ separately. We ended up with deploying a file with version number to trigger puppetserver restart as a workaround, but it's outside of scope of this ticket\n", "created": "2019-02-13T16:24:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Excellent, thank you. I'm going to close this ticket then.", "created": "2019-02-13T16:36:00.000000"}], "components": ["Puppet Server"], "created": "2018-06-19T10:31:00.000000", "creator": "61ba0348acc926006a06fc59", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@55f9eef6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl1ov:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_198657406_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_20155073462_*|*_10006_*:*_1_*:*_316930786_*|*_10005_*:*_2_*:*_4437688"}], "description": "I tried to deploy a custom report handler today in\u00a0/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/, but also the default handlers are not loaded:\n\npuppetserver.log:\n{code}Puppet No report named 'log'\n\nPuppet No report named 'custom'\n\n{code}\n\u00a0\n\nIf I put the handler in a module under\u00a0lib/puppet/reports/custom.rb it is loaded correctly and works.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17391", "fixedVersions": [], "id": "17391", "issueType": "Bug", "key": "SERVER-2236", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "61ba0348acc926006a06fc59", "resolution": "Fixed", "resolutionDate": "2019-02-13T16:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver doesnt load report handlers from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/", "timeSpent": "PT0S", "updated": "2019-02-13T16:36:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-06-19T03:34:00.000000", "creator": "623a4b06ee1b5a0070286612", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3c90f9e4"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hznqlz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_223866945_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_2_*:*_108752432689"}], "description": "Probably not relevant but we use Puppet 5.5.3, Puppetserver 5.3.3 on Debian jessie\n\nCurrently, when a generate call produces output on STDERR a log line\n\nWARN  [qtp64316283-60345] [c.p.p.ShellUtils] Executed an external process which logged to STDERR:\n\nfollowed by the stderr output of the process is logged.\n\nTo debug these kinds of problems it would be very helpful if some extra information could be included in the log line to narrow down which process produced the output or ideally to directly point to the generate call location in the manifests that resulted in the call of the external process.\n\nIf the location is too difficult to obtain at least the program called and the parameters would be useful to have.\n\nIt is not easily possible to solve this by having the called script produce more output on its identity and parameters since that output would have to be generated conditionally only when other output on stderr is produced, which is non-trivial to determine in the general case (e.g. a shell script calling lots of other commands).\n", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "15153", "fixedVersions": [], "id": "15153", "issueType": "New Feature", "key": "SERVER-2235", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Minor", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623a4b06ee1b5a0070286612", "resolution": "Declined", "resolutionDate": "2021-12-01T09:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Include more information in log lines about external processes which logged to STDERR", "timeSpent": "PT0S", "updated": "2021-12-01T09:45:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "attachments": [], "comments": [{"author": "557058:8db25e7a-4bdb-4fe2-af6b-f0a9bc714e12", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69], I think you mentioned casting about for this ticket?", "created": "2018-09-17T17:21:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] I'd love to update the PE console so that unsigned certificates isn't grabbing such a large payload. ", "created": "2019-09-09T13:49:00.000000"}, {"author": "557058:dbc53efe-57a8-4acd-b329-21bc29e30ce8", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] this came up again yesterday with a 6 megabyte payload for one customer.  Any possibility of addressing this in the near term?  It could be a big usability win.", "created": "2020-06-11T09:47:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Docs PR: https://github.com/puppetlabs/puppetserver/pull/2379", "created": "2020-07-31T19:22:00.000000"}], "components": [], "created": "2018-06-13T12:39: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@dfdf492"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwl99:zkbbo"}, {"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": "The `/puppet-ca/v1/certificate_statuses` endpoint now accepts a `state` parameter that will filter search results by the given certificate state. Accepted states are 'requested', 'signed', and 'revoked'."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Sep/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_2_*:*_233855034_*|*_1_*:*_1_*:*_105245060_*|*_10007_*:*_1_*:*_100029801_*|*_3_*:*_1_*:*_90949119_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_4066046621_*|*_10005_*:*_1_*:*_62964292668"}], "description": "At one point it was possible to list out agents with unsigned certificates via GET /puppet-ca/v1/certificate_requests.\u00a0 The documentation states that this endpoint is no longer supported.\n(This endpoint used to return the PEM files, which is probably not what we want here.)\n\nGET /puppet-ca/v1/certificate_statuses will list out *all* the certificates and statuses, but this is undesirable in the case where the payload is very large, and we really just want a list of agents requesting certs.\n\n*Notes*\nIt makes sense to do this with a query param on the [endpoint|https://github.com/puppetlabs/puppetserver/blob/master/src/clj/puppetlabs/services/ca/certificate_authority_core.clj#L320-L334]. If it's hard to allow filtering on status generally, we can just do the {{requested}} case for now and add the others later. The endpoint should continue to return all the certificate statuses if no query param is passed.\n\n*Outcomes*\n* Endpoint that can return at least all agents with requested certs (CSRs)\n* Documentation for the endpoint\n* tk-auth updates if needed (this might require changes in {{puppet_enterprise}})\n* clojure level tests", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17389", "fixedVersions": ["SERVER 6.13.0"], "id": "17389", "issueType": "Improvement", "key": "SERVER-2233", "labels": ["ondeck1", "post_pup_6"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Fixed", "resolutionDate": "2020-08-03T11:26:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow for retrieving a list of agents with unsigned certificates through the API", "timeSpent": "PT0S", "updated": "2021-06-01T15:26:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "attachments": [], "comments": [], "components": [], "created": "2018-06-12T14:00:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4ab4043"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hznm5j:"}, {"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_*:*_512506278_*|*_1_*:*_1_*:*_610539615_*|*_10007_*:*_1_*:*_14365097_*|*_3_*:*_1_*:*_79573641_*|*_5_*:*_1_*:*_7334940855_*|*_6_*:*_1_*:*_0"}], "description": "On OSX, the {{sets-env-correctly}} test fails to clear the {{__CF_USER_TEXT_ENCODING}}\u00a0environment variable. IIRC, this is a fragile test that started failing with an OSX update this winter. I believe Haus looked into it and didn't see an easy way to keep the test while making it more robust. We should fix this rather than live with it in our development environments.\n\nSee:\n{code}\nlein test :only puppetlabs.puppetserver.shell-utils-test/sets-env-correctly\nFAIL in (sets-env-correctly) (shell_utils_test.clj:97)\nsets environment variables correctly\nFound unexpected environment variables:#{\"__CF_USER_TEXT_ENCODING\"}\nexpected: (empty? extra-keys)\n  actual: (not (empty? #{\"__CF_USER_TEXT_ENCODING\"}))\n {code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16764", "fixedVersions": ["SERVER 6.0.0"], "id": "16764", "issueType": "CI Blocker", "key": "SERVER-2232", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-06-26T16:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Fix execution test with __CF_USER_TEXT_ENCODING", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "Including this for reference, since I was having trouble remembering how it worked. In PE, at least, the file-sync service is not involved.  The initial copy of the hostcrl is downloaded from the ca by the agent on its first run (or whenever the crl.pem is not present). \n\nAfter that, since puppet is being used to manage PE, and is how the compile master is installed and configured, the pe modules include a [resource|https://github.com/puppetlabs/puppetlabs-puppet_enterprise/blob/2018.1.0/manifests/profile/master.pp#L248-L262] to sync the primary master's cacrl file to the compile master's hostcrl.  That gets updated as often as the agent runs on the compile master.\n", "created": "2018-06-12T13:54:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "So we are thinking of having the \"compile-masters\" parameter (list) inside of ca.conf file within the certificate-authority group. So don't need to be in a separate file. The ca.conf resides in /etc/puppetlabs/puppetserver/conf.d folder. \n\nAn example value of this config parameter: \n\ncertificate-authority: {\n  compile-masters: [ \"compile-master1-fqdn\", \"compile-master2-fqdn\" ]\n}\n\nWould MoM be always part of the \"xxx.xxx.masters\" node group? If yes, can we expect compile-masters to be set with at least that value before puppetserver starts or it would take one agent run on the MoM to have it updated?\n", "created": "2018-06-14T18:08:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "As I think about it, does PE know if the parameter it is updating actually changed since the last time for it to make a decision whether to restart pe-puppetserver? Most of the time the compile masters list is expected to stay same unless one actually gets added or removed. Just wondering if we might see some un-necessary server reloads. ", "created": "2018-06-14T18:24:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "[~accountid:557058:252602f6-56c9-47a2-a176-2c9c57106330]\nCorrect me but am thinking I would need to add the logic to write the output of \"select nodes belong to 'masters' node group' query to puppetserver-confdir/conf.d/ca.conf in this puppetlabs_puppet_enterprise file spec/classes/master/puppetserver_spec.rb. \n\nBut I don't seem to understand the syntax to express the above correctly. Also is it ok to do the puppetdb query using hardcoded service configuration (for now) or do you have any suggestions on doing it the right way while avoiding the hardcoding? \nAnd can you point me to any puppetdb queries from within this module (puppetlabs_puppet_enterprise) unless they are not exactly in this module. \n\nAny my above question - does it know if there was a real change in the parameter value it is updating within the config file and only then trigger a reload or will it do it every time it updates any of the config files? \n", "created": "2018-06-18T09:48:00.000000"}, {"author": "557058:252602f6-56c9-47a2-a176-2c9c57106330", "body": "Take a look at this function for an example: \nhttps://github.com/puppetlabs/puppetlabs-puppet_enterprise/blob/irving/functions/is_using_mco.pp.  It's returning a boolean", "created": "2018-06-19T17:57:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "doesnt this sound like a bit of a workaround of lowering the default cert TTL to something much lower so revocations would mostly not be needed?\n\nif an agent could auto-renew its cert , the default ttl could be lowered to a month or even a week. ", "created": "2018-08-20T22:51:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "[~accountid:557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53] the main use case i've heard for revocation is so people can re-install a host and issue a cert with the same name against a new agent keypair - so it's important for the deletion of a node and revocation of its cert to quickly converge across the infrastructure.", "created": "2018-08-21T11:45:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "IMHO the problem with the crl file now is that it can grow very large because the default lifetime of 5 years. so if you decom a node after a day you'll need to have the revocation entry 4 years and 364 days in the crl file.\n\nif you only have a lifetime of a month you can evict the expired certs from the crl file. \n\nfor the re-install case IMHO a better solution is to preserve the cert files (and possibly other credentials). we do this since about forever. \n\nif you start managing different crls you'll have a split view on the revocations.\n\nand how about the puppetlabs certregen module? what about users that re-use puppet certs including crl for other services?", "created": "2018-08-23T01:15:00.000000"}, {"author": "557058:dce8a3bd-52a4-4c8d-a974-0f0aacd00e53", "body": "is there some prior art of doing split crl lists with other tools/services? ", "created": "2018-08-23T01:17:00.000000"}, {"author": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "body": "We thought about the idea of reducing certificate validity periods but that would depend on customers in case they use the certificate outside Puppet. In case of more volatile environments like cloud etc. where a portion of the nodes could be spun up/down in very short periods then even a short certificate validity like month would have same issue. We will consider this for future.\nI don't quite see any issue with split crl approach so long as we ensure that the relevant relying parties get correct revocation status of the entities they communicate with. With OCSP one get to query the status of entities you care about. With Puppet's hub and spoke model agent nodes only need to know the revocation status of masters. Infrastructure nodes will use the complete CRL.  ", "created": "2018-08-23T09:23:00.000000"}], "components": ["Certificate Authority", "Puppet Server"], "created": "2018-06-08T16: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": "CA publishes an additional infrastructure CRL that will only contain master of master and compile master certificates. \nAgent requests for CRL, over existing API, should be satisfied using this CRL. \nFull CRL should continue to include all revoked certificates and be used by any infrastructure nodes (compile masters) using the existing 'file-sync' mechanism. "}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7962dcac"}, {"fieldName": "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": "SERVER-2221"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hznizz:"}, {"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 list of certs that, when revoked, should be added to a separate CRL (useful for specifying special nodes in your infrastructure like compile masters). Whether this special CRL or the default CRL is distributed to agents is configurable."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "12/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_871225219_*|*_1_*:*_1_*:*_524256799_*|*_10007_*:*_1_*:*_5156954020_*|*_3_*:*_1_*:*_2158568962_*|*_5_*:*_1_*:*_178617465_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:6.x\n*Puppet Server Version: 6.x?\n*OS Name/Version: n/a\n\n+Background+: In our current implementation the CRL validity is set to 5 years. This effectively nullifies revocation checking of any \u2018server\u2019 certificates by agent nodes. This issue does not quite affect MoM and any of the compile masters because everytime a new CRL is published it is available/updated locally on MoM and replicated to compile masters using a \u2018file-sync\u2019 mechanism. \nWhile agent nodes not doing revocation checking of servers or compile masters is less of a risk than the other way round it still is an issue. Throughout we strive to ensure all SSL endpoints do the appropriate checking to protect themselves against rogue peers or from any active man in the middle attempts. Agent typically runs in privileged mode and trust all content (and commands) from servers - generalized to mean any services on MoM and compile masters. Hence it is important to plug this potential vulnerability.\n\nOne of the concerns with publishing shorter validity CRL or letting agents fetch a CRL any time it is updated is the increased demands on bandwidth, particularly in environments where CRL can grow significantly large. While a shorter validity CRL may not necessarily address requirements of using the most up to date revocation status in certain high security or compliance environments it is a step in right direction short of implementing OCSP.\n \n+Proposal:+ \nPublish a CRL containing only MoM and compile master certificates. Agent CRL requests be satisfied with this CRL. This assumes compile masters, with puppet agents, do not use the same mechanism to request CRLs and continue to get/use the \u2018full\u2019 CRL.  \nWith the CRL size in check, it should allow us to publish CRL with shorter validity and/or allowing agents to fetch a new one every time it is published. \n", "epicLinkSummary": "Improve Certificate Revocation", "estimate": "PT0S", "externalId": "15152", "fixedVersions": ["SERVER 6.0.0"], "id": "15152", "issueType": "Task", "key": "SERVER-2231", "labels": [], "originalEstimate": "PT0S", "parent": "15766", "parentSummary": "Improve Certificate Revocation", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:71582ab7-ed41-48f8-a53e-545356d7dee4", "resolution": "Fixed", "resolutionDate": "2018-09-17T12:00:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Publish an infrastructure only CRL in addition to the full CRL", "timeSpent": "PT0S", "updated": "2018-12-18T10:30:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The last two occurances of this happened with Debian 8 and Debian 9 masters.", "created": "2018-06-08T14:29:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Could this be related to the new HTTP client not correctly using the pre-verify check from the DefaultValidator (see https://github.com/puppetlabs/puppet/blob/master/lib/puppet/ssl/validator/default_validator.rb#L81) that allows some wiggle room in CRL validity? I know [~accountid:557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c] was thinking we could make that work with https://github.com/puppetlabs/puppet/blob/master/lib/puppet/rest/client.rb#L69, but there could be something we're not understanding about the HTTPClient library uses that.", "created": "2018-06-11T11:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I thought it might be that but I also saw this on 5.3.x, which shouldn't have the new rest client.", "created": "2018-06-11T11:27:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Cool thanks. We've been stretching our infra again recently with all the releases going out, that could be exacerbating this past our tolerance.", "created": "2018-06-11T11:34:00.000000"}], "components": [], "created": "2018-06-08T12:42:00.000000", "creator": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "customFieldValues": [{"fieldName": "CI Pipeline/s", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect", "value": "platform puppetserver"}, {"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7be62cff"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzniqn:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_254496383_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_12118509958"}], "description": "We've been seeing a bunch of CRL not yet valid failures in CI in the last two or three weeks. Creating this ticket to track instances of it and potential steps to fix.\n\nFailure log:\n\nJune 7th\n * Platforms (master vs agent)\n ** Debian 8 vs Centos 6\n ** Debian 9 vs Centos 7\n * Branches:\n ** Puppet Server 5.3.x\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17388", "fixedVersions": [], "id": "17388", "issueType": "CI Blocker", "key": "SERVER-2229", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Cannot Reproduce", "resolutionDate": "2018-10-29T17:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "CRL not yet valid in CI", "timeSpent": "PT0S", "updated": "2018-10-29T17:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This should maybe wait till the migration to slack is complete and we know what that looks like.", "created": "2018-10-30T14:30:00.000000"}], "components": [], "created": "2018-06-08T12:35:00.000000", "creator": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3b296b67"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rt:c"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Oct/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_255005662_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_7023942210_*|*_10005_*:*_3_*:*_110996786228"}], "description": "Currently, we have no way of reporting in hipchat the last passing SHA of puppetserver. We should have the equivalent of `! passing puppet-agent <branch>` for puppetserver. This should fetch the last passing SHA of puppetserver for the relevant branch, stored at http://builds.delivery.puppetlabs.net/passing-server-SHAs/api/v1/json/ and report it to the channel, along with the date when it passed.\n\nSample output from the agent command:\n{code}\n=> ! passing puppet-agent master\nLast known good build of puppet-agent on master:\nBuilt at: 8 Jun 2018 2:15:22\nPUPPET_AGENT_VERSION: 5.99.0.3.ga5d03a3\nPUPPET_AGENT_COMMIT: a5d03a365363cfa56f0451c16dc784791cbf65d8\nPUPPET_AGENT_SHORT_COMMIT: a5d03a365\nFACTER_COMMIT: 319754fea661656fdc8d40f15cfbf5553918f46c\nPUPPET_COMMIT: 90ca1a5df562d3362a481b27811b0090eb85a2d6\nHIERA_COMMIT: e67de42f249f2881ec33c49179c943aae187efb3\nPXPAGENT_COMMIT: 7e2ffccbe1d9773c75aeed3531e9272e4cfe38e7\n{code}", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16556", "fixedVersions": [], "id": "16556", "issueType": "Task", "key": "SERVER-2228", "labels": ["internal"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "resolution": "Won't Do", "resolutionDate": "2022-03-08T09:57:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "create `! passing puppetserver` kerminator command", "timeSpent": "PT0S", "updated": "2022-03-08T09:57:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-06-08T09:57:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver's CA CLI has a subcommand for migrating the CA from one file path to another"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@27735d7c"}, {"fieldName": "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-8918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl25b:"}, {"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": "See SERVER-2894 for release notes."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_459218891_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_10367548884_*|*_10005_*:*_1_*:*_66001563229"}], "description": "In SERVER-2162 we added a command line tool to Puppetserver for managing its CA. We should add a subcommand to this that will move existing CA files to a new location. The user will need to specify source location, with a default of the old default CA location ({{/etc/puppetlabs/puppet/ssl/ca}}), and then the tool will use the target location as specified in puppetserver.conf.\n", "epicLinkSummary": "Finalize separation of CA from Ruby", "estimate": "PT0S", "externalId": "15921", "fixedVersions": [], "id": "15921", "issueType": "Task", "key": "SERVER-2226", "labels": [], "originalEstimate": "PT0S", "parent": "29493", "parentSummary": "Finalize separation of CA from Ruby", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Duplicate", "resolutionDate": "2020-11-13T14:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Migrate CA locations via Puppetserver's CA CLI", "timeSpent": "PT0S", "updated": "2020-11-13T14:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Could you also update https://github.com/puppetlabs/puppet-specifications/blob/master/file_paths.md#puppetserver?", "created": "2018-06-25T17:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Moving the setting to {{puppetserver.conf}} has interesting implications for any use {{puppet config}} to discover these settings. We do this a lot in acceptance tests.", "created": "2018-06-27T17:13:00.000000"}, {"author": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "body": "There are a few things we need to do before we can comfortably merge this ticket.\u00a0\n * This change breaks the {{puppet cert sign}} and {{puppet cert list}} commands. We should create new commands that regain that functionality.\n * we need to add deprecation warnings about the old commands/location of the cadir\n\nSee the rest of the epic for more detailed info.\u00a0", "created": "2018-07-20T17:51:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "I wrote up a way of mitigating this issue in the related epic. Copying my comment here:\n\nOne gradual step might be to create a new {{ca}} directory outside of the existing {{ssl}} directory, and symlink from {{ssl/ca}} -> {{ca}}. This way {{rm -rf}} will unlink the symlink, but not follow it:\n\n{noformat}\n[root@w4jl4a7y7wi0c0j puppet]# ln -s  /etc/puppetlabs/puppet/ca /etc/puppetlabs/puppet/ssl/ca\n[root@w4jl4a7y7wi0c0j puppet]# chown puppet:puppet /etc/puppetlabs/puppet/ca\n[root@w4jl4a7y7wi0c0j puppet]# systemctl start puppetserver\n[root@w4jl4a7y7wi0c0j puppet]# /opt/puppetlabs/puppet/bin/puppet config set server `facter fqdn` --section main\n[root@w4jl4a7y7wi0c0j puppet]# /opt/puppetlabs/puppet/bin/puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for w4jl4a7y7wi0c0j.delivery.puppetlabs.net\nInfo: Applying configuration version '1564090147'\nNotice: Applied catalog in 0.02 seconds\n[root@w4jl4a7y7wi0c0j puppet]# rm -rf /etc/puppetlabs/puppet/ssl/\n[root@w4jl4a7y7wi0c0j puppet]# find ca/\nca/\nca/requests\nca/signed\nca/signed/w4jl4a7y7wi0c0j.delivery.puppetlabs.net.pem\nca/serial\nca/infra_inventory.txt\nca/infra_serials\nca/inventory.txt\nca/ca_pub.pem\nca/ca_key.pem\nca/ca_crt.pem\nca/ca_crl.pem\nca/infra_crl.pem\n[root@w4jl4a7y7wi0c0j puppet]# /opt/puppetlabs/puppet/bin/puppet agent -t\nError: CA certificate is missing from the server\nError: Could not run: CA certificate is missing from the server\n[root@w4jl4a7y7wi0c0j puppet]# systemctl restart puppetserver\n[root@w4jl4a7y7wi0c0j puppet]# /opt/puppetlabs/puppet/bin/puppet agent -t\nInfo: Using configured environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Retrieving locales\nInfo: Caching catalog for w4jl4a7y7wi0c0j.delivery.puppetlabs.net\nInfo: Applying configuration version '1564090533'\nNotice: Applied catalog in 0.01 seconds\n{noformat}\n\nThat said we'd need to make sure permissions are correct on the new {{ca}} directory, as I don't think puppet will follow the link when applying the settings catalog.", "created": "2019-11-19T14:15:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "Moved this up in the backlog for the team to review and confirm that the symlink solution that Josh proposed in October is a reasonable solution.  ", "created": "2020-02-18T14:11:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I filed https://puppet.atlassian.net/browse/SERVER-2760 as a ticket that more narrowly describes the approach we're thinking of taking with this, that is backwards compatible.\n\nGoing to leave this open since all of the zendesk tickets are linked to it. But please refer to that other ticket for the actual work we intend to do.", "created": "2020-03-24T09:10:00.000000"}], "components": [], "created": "2018-06-08T09:35:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Puppetserver's CA directory defaults to {{/etc/puppetlabs/puppetserver/ca}} for new installs\n* Its location is configurable via a setting in puppetserver.conf\n* If the new setting is absent from the config file, we refer to the one from puppet.conf instead"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@52c428e6"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Rank", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:float", "value": "1000.0"}, {"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-8918"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzwlb8:"}, {"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": "See SERVER-2896 for release notes."}, {"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": "39630,40324,41099"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_460528341_*|*_10007_*:*_1_*:*_287706174_*|*_3_*:*_1_*:*_1874309579_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_42067495942_*|*_10006_*:*_2_*:*_4038177851_*|*_10005_*:*_2_*:*_28101221340"}], "description": "The first major step to separating the CA and SSL dirs is to change the default location of the CA dir. The proposed new path is {{/etc/puppetlabs/puppetserver/ca}}. The new setting should be specified in {{puppetserver.conf}}, in a new section specifically for CA settings.\n\nFor this ticket, we should only implement the most basic fallback logic, namely that we default to the CA dir from puppet.conf if the new setting is absent from the config file.\n\nConfig files for new installations should point to the new location for the CA dir in puppetserver.conf. We need to investigate the upgrading behavior to make sure this works as expected (existing conf files are left alone).\n\n The migration and upgrade paths should be discussed later as part of https://puppet.atlassian.net/browse/PE-24530.", "epicLinkSummary": "Finalize separation of CA from Ruby", "estimate": "PT0S", "externalId": "14784", "fixedVersions": ["SERVER 7.0.0"], "id": "14784", "issueType": "Task", "key": "SERVER-2225", "labels": ["jira_escalated"], "originalEstimate": "PT0S", "parent": "29493", "parentSummary": "Finalize separation of CA from Ruby", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2020-11-13T14:05:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Move puppetserver's default CA dir out of Puppet's SSL dir", "timeSpent": "PT0S", "updated": "2020-12-05T15:14:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a7211b6d0cb452810793cd6", "attachments": [], "comments": [], "components": [], "created": "2018-06-07T17:04: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@3c46a396"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1ev:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_519925217_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1104923345"}], "description": "*as a* (new) team member\n*i want* clear docs about what we do, how we do it, and where the work lives\n*so that* i know how to get work done, and where to do it", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15683", "fixedVersions": [], "id": "15683", "issueType": "Task", "key": "SERVER-2224", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "resolution": "Fixed", "resolutionDate": "2018-06-26T12:25:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "update onboarding docs", "timeSpent": "PT0S", "updated": "2018-06-26T12:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2018-06-07T16:34: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@5b9d0c56"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2k7:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5604735_*|*_3_*:*_1_*:*_431677523_*|*_5_*:*_1_*:*_0"}], "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15919", "fixedVersions": [], "id": "15919", "issueType": "Task", "key": "SERVER-2223", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "resolution": "Done", "resolutionDate": "2018-06-12T18:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "update ci goalie and release lead docs", "timeSpent": "PT0S", "updated": "2018-06-12T18:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-06-06T10:05:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@5b742b44"}, {"fieldName": "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": "Improve Certificate Revocation"}, {"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": "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|hynbnz:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_49685322433_*|*_6_*:*_1_*:*_0"}], "description": "Currently revoking a node's certificate can get very complicated in more complex deployments (e.g. those involving PuppetDB or a node classifier). We should make this process simpler from a user perspective, with fewer manual steps that are smarter about what work needs to be performed. This epic contains tickets relating to that effort.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15766", "fixedVersions": ["SERVER 6.y"], "id": "15766", "issueType": "Epic", "key": "SERVER-2221", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2020-01-02T10:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve Certificate Revocation", "timeSpent": "PT0S", "updated": "2021-08-23T10:43:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [], "components": [], "created": "2018-05-31T14:35: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@60e28b48"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1en:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_29181193_*|*_3_*:*_1_*:*_623360900_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_396751811"}], "description": "We currently have two PRs, [1698|https://github.com/puppetlabs/puppetserver/pull/1698]\u00a0and [1697|https://github.com/puppetlabs/puppetserver/pull/1697],\u00a0that need review relating to RE's effort to begin shipping docker containers. This work is for CPR-553 and CPR-557, which imports the\u00a0[puppet-in-docker|https://github.com/puppetlabs/puppet-in-docker] project into its respective components and creates a script to build those docker images in Puppet Pipelines respectively.\n\nWhoever reviews one of those should also review the other, minimally use the scripts locally to build docker images and ensure there's a workable puppetserver that comes out the other side and potentially familiarize him or her self with the puppet-in-docker work and how to use Puppet Pipelines.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16553", "fixedVersions": [], "id": "16553", "issueType": "Task", "key": "SERVER-2219", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2018-06-12T18:03:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Review puppetserver docker PRs", "timeSpent": "PT0S", "updated": "2018-06-12T18:03:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [], "components": [], "created": "2018-05-29T14:19: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@6716cbe1"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2jj:"}, {"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_*:*_257143423_*|*_1_*:*_1_*:*_8991188972_*|*_10007_*:*_1_*:*_6154283_*|*_3_*:*_1_*:*_483214_*|*_5_*:*_1_*:*_505547413_*|*_6_*:*_1_*:*_0"}], "description": "In\u00a0PUP-4242 deprecation warnings were added for \"things\" declared in the wrong namespace.\n\nIn testing server-side features like environment caching or custom function invocation we create throw away test environments that trigger a LOT of these warnings. We should update our tests/testutils to not create things in incorrect namespaces, if possible.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14782", "fixedVersions": ["SERVER 6.0.0"], "id": "14782", "issueType": "Task", "key": "SERVER-2218", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-09-13T17:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update tests to no longer cause deprecation warnings from PUP-4242", "timeSpent": "PT0S", "updated": "2018-09-19T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-05-24T16:24: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@7befa310"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2j3:"}, {"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_*:*_627543114_*|*_10007_*:*_1_*:*_25775539_*|*_3_*:*_1_*:*_804774_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1249463543"}], "description": "We should make a Server tab on Waylon that doesn't include the puppet-agent bits. Having all of Platform Core to look at, and bits of it to ignore, might be overwhelming for new folks to CI goalie.\n\nAs part of this work we should update waylon to use the new short names for the jenkii.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15765", "fixedVersions": ["None"], "id": "15765", "issueType": "Task", "key": "SERVER-2217", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Done", "resolutionDate": "2018-06-15T17:11:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Create Server tab on Waylon; update Platform Core", "timeSpent": "PT0S", "updated": "2018-06-15T17:11:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This was actually two things that changed in one release that I conflated. One was that leiningen adds it's own nrepl dependency into a base profile so that it can ensure its repl functionality works as intended (and it regressed, then was fixed, with some versions conflicting with tk and some not depending on the versions in the respective projects). The other was that lein-parent pulls in dependencies that conflict with leiningen's own. The former is something that emacs users have always dealt with, though was new to me at the time of writing this ticket. The latter is the source of the \"Tried to load...\" warnings.\n\nI've fixed the issues with lein-parent in a way that should not require further updating. The nrepl conflict however will require occasional maintenance by everyone. The lein-parent release with my fixes is 0.3.7, everyone is encouraged to use that release.\n\nI've updated Server to use this release and am consequently going to mark this ticket as resolved.", "created": "2019-07-29T12:47:00.000000"}], "components": [], "created": "2018-05-24T14:14: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@119b9332"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzmbd3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_37233186509_*|*_5_*:*_1_*:*_0"}], "description": "Dependency resolution in leiningen seems wacky.\n\nWhen trying to resolve {{org.clojure/tools.nrepl}} lein would pull in 0.2.12 which is the version that lein depends on. When upgrading to clj-parent 2.0.0 I would get a pendatic abort saying that puppetserver had a top level dependency on nrepl (didn't) and that all of its other dependencies should exclude nrepl (clj-parent 2.0.0 defines nrepl as 0.2.13 and so all dependencies that it pulls in have nrepl set to 0.2.13). Having lein output a pom file and having maven resolve that showed no conflicts.\n\nI should note that we have a dev dependency on leiningen (see SERVER-2215 to get rid of it) but this work included placing an exclusion on nrepl for our leiningen dependency.\n\nPutting nrepl as an explicit dependency seems to have fixed this.\n\nFrom that, I *think* what is happening is: a project's dependencies are being resolved with lein's with a projects explicit dependencies taking precedence, but lein's explicit dependencies taking precedence over managed-dependencies (like what is provided by clj-parent).\n\nThis may or may not have to do with the warnings output to stderr whenever we now run lein that\n{code}Tried to load commons-codec version 1.4 but 1.9 was already loaded.\n{code}\netc...\n\nIt also may or may not have anything to do with the fact that the tried-to-load version and already-loaded version do not necessarily match the output of {{lein deps :tree}}....\n\n\u00a0\n\nIf digging into the leiningen source code it should be noted that tests should be ran with bin/lein that is built from running lein bootstrap. This isn't mentioned in the docs (and if you wanted to open a PR for that that'd be great too).", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16763", "fixedVersions": [], "id": "16763", "issueType": "Task", "key": "SERVER-2216", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2019-07-29T12:47:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Investigate potential leiningen bug", "timeSpent": "PT0S", "updated": "2019-07-29T12:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "attachments": [], "comments": [{"author": "557058:e2565d2e-ebad-44ed-9824-9a30cb01d8fd", "body": "Starting with cljs-dashboard-widgets, I upgraded to clojurescript 1.10.238 and added clj-parent to manage most of the dependencies. Using figwheel-sidecar was a pretty basic switch, but upgrading to d3 v4 broke a lot of the metrix-box clojurescript. I also rewired the server port so that figwheel-sidecar is interacting with a running puppet server.", "created": "2018-06-08T12:36:00.000000"}], "components": [], "created": "2018-05-24T11:34: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@23abc6c3"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1ef:"}, {"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": "08/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1186561486_*|*_1_*:*_1_*:*_711716826_*|*_10007_*:*_1_*:*_24119396_*|*_3_*:*_1_*:*_945035423_*|*_5_*:*_1_*:*_7334866289_*|*_6_*:*_1_*:*_0"}], "description": "puppetserver and cljs-dashboard-widgets use an older clojurescript dependency along with cljsbuild and figwheel. The method for interacting with figwheel through `lein repl` and to do so the current implementation pulls in lein as a dependency and uses it to run `lein figwheel` in the background, not that there's any docs describing that.\n\nA lot has changed in the clojurescript ecosystem and we should:\n# Upgrade to a modern clojurescript - I think we 1.10.x for Java 9 support in the clojurescript compiler.\n# Use figwheel-sidecar, this is a subproject of lein-figwheel and lets you use a figwheel server directly from the repl, rather than calling the lein task. Upgrading to this lets us remove our dependency on leiningen as a library within our project.clj and should be done in both puppetserver and cljs-dashboard-widgets.\n# Upgrade our cljsjs dependencies in cljs-dashboard-widgets. cljsjs, besides being a silly name, is how cljs projects pull in js packages that they interopt with. We at least need to update d3 (maybe React as well). AFAICT, d3 isn't automatically being pulled in during cljs development of puppetserver and causing errors, I think this stems from how cljs-dashboard-widgets pulls in its d3 dependency and may require some configuration of externs in puppetserver.\n# Make figwheel served dashboard interact with a running Puppet Server. Currently you can server a livereloaded dashboard from figwheel but it will automatically connect to the same port that it's served from (which won't have a running puppetserver) or you can run puppetserver from the repl, but then you get any of the figwheel goodness. This might be as simple as threading the url to get metrics from to figwheel when run from the repl.\n# Finally, almost nothing is actually documented. Developing on the dashboard should be documented in the puppetserver developer docs and how to pull in cljs-dashboard-widgets and set it up correctly should be documented in that repo.\n", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "17098", "fixedVersions": ["SERVER 6.0.0"], "id": "17098", "issueType": "Task", "key": "SERVER-2215", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-06-26T16:04:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade cljs workflows to use updated cljs tools (esp. figwheel-sidecar)", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-05-23T10:22: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@597677c6"}, {"fieldName": "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-1880"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzm8g7:"}, {"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_*:*_490392658_*|*_1_*:*_1_*:*_39157_*|*_3_*:*_1_*:*_715859886_*|*_5_*:*_1_*:*_9086697019_*|*_6_*:*_1_*:*_0"}], "description": "The unvendoring of semantic_puppet revealed that Puppetserver is not correctly installing, detecting, and loading gems when running clojure unit tests. Because semantic_puppet is the first gem we have had a hard dependency on server-side, it was not previously obvious that this was broken. We need to ensure that we are installing gems in our test environment, and then properly setting the gem path in all the places that we are currently configuring the ruby load path, to ensure that the semantic_puppet gem can be loaded during tests.\n\nUntil this is fixed, any code with a {{require 'puppet'}} will error.", "epicLinkSummary": "Unvendor semantic-puppet", "estimate": "PT0S", "externalId": "16551", "fixedVersions": ["SERVER 6.0.0"], "id": "16551", "issueType": "Bug", "key": "SERVER-2214", "labels": [], "originalEstimate": "PT0S", "parent": "56577", "parentSummary": "Unvendor semantic-puppet", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-06-06T09:27:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver is not correctly installing and loading gems when running clojure tests", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've created a topic branch here: [compare justinstoller:new-jetty|https://github.com/puppetlabs/trapperkeeper-webserver-jetty9/compare/master...justinstoller:new-jetty?expand=1]\n\nI researched the issue mentioned in the description and the behavior of {{MBeanContainer.resetUnique}} was folded into the destroy action in [a0cb424|https://github.com/eclipse/jetty.project/commit/a0cb4247e7f99f79c67f08acd6bdae2ac5bf1f8e#diff-6b38ef204a292607c6f1d20850a5201bR275]\u00a0and the destroy method is already being called during tk-jetty9's shutdown phase. So that should be fine.\n\nWith that, all of the functional tests work but we have a set of \"defaults tests\" (they test the defaults that Jetty ships with that we don't explicitly override) that are failing because Jetty changed what it considers to be the minimum required threads for a connector and how it warns regarding that. That work seems to be primarily in two commits [5d8c605|https://github.com/eclipse/jetty.project/commit/5d8c605d96e4f7128fe502595008ab2b45fe99fd#diff-f44162e5f3ca320f0e10435138a59cb7] and [7d98cbb|https://github.com/eclipse/jetty.project/commit/7d98cbb8703d23a30ce830f24f8cfd0fce9fc08a#diff-f44162e5f3ca320f0e10435138a59cb7]. I can get the tests to pass, but I'm still trying to figure if I'm missing any changes in Jetty and if this will require updating any configuration/tuning documentation.", "created": "2018-07-06T10:50:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] what's the status on this ticket?  we have an open escalation against it and we should try to close it out", "created": "2018-07-11T14:14:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Last comment is still current. Partly done, what is done is up in a branch. Anyone is free to take it on.", "created": "2018-07-11T14:19:00.000000"}, {"author": "557058:e346dd15-0cb4-4ff2-a5d8-46553d04e715", "body": "ah, i see.  more relevant comment in escalation ticket:\n{quote}\nWith my comment about believing the next steps are to upgrade Jetty, I've marked SERVER-2213 as blocking this. Until we complete that, or we get feedback from our customer, I've placed this in Ready for Engineering.\n{quote}", "created": "2018-07-11T14:29:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I pinged you in the PR [~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e], but here's the ticket as well.\n\nI don't think 99% of our users even know these settings exist and I don't think we document why anyone should change them, but if someone did, they would want to know about the thread allocation changes.", "created": "2018-07-23T15:09:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]] FWIW, I don't think we've had to tune Jetty's thread pools since we switched from a static default to a dynamic default a few years ago (PE 3.8 maybe? 2015.x?). Definitely would be good to get a note describing the essential differences somewhere.", "created": "2018-07-23T15:11:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] AFAICT no, we don't have user-facing docs for tuning Jetty threads for Server, just the dev docs you updated on the repo in the PR. [PDB does document max-threads for Jetty|https://puppet.com/docs/puppetdb/5.1/configure.html#max-threads], not sure if that's relevant.", "created": "2018-07-23T15:14:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I believe prior to the upgrade Jetty would require at least 11 threads per connector within a webserver, and afterwards Jetty will want 35 per connector. This is with a default QTP with 200 threads and a box with 24 cores.\n\nThat is also the *maximum* that the Jetty will require per connector without increasing the threadpool size. In the new model Jetty scales up and down more, taking advantage of resources available on the box, but always takes the *minimum* of metrics computed from cores and threadpool size (ie one of those will act as a ceiling prior to 24 cores the cores act as a ceiling, at 24 cores a default threadpool of 200 is a ceiling.\n\nTo also show the low end of this range, on my dev box, when turning the max-threads down to 10, it only requires 6 threads *total*\u00a0for two connectors and general worker threads.\n\nI think, without explicitly configuring the selector and acceptor thread settings this limits us to a handful of connectors per webserver (The tk-jetty9 docs say that we only use two per webserver, but I'm not sure if we do differently in jar-jar or the edu env).\n\n\u00a0", "created": "2018-07-23T15:44:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Do you know the breakdown of tasks for those 35 threads? I recall current Jetty separates things into acceptor threads which establish incoming connections, selector threads that watch for I/O and then worker threads that process request data to produce response data.\n\nThe reason I ask is that the fraction of worker threads is important for deciding where to set {{max-queued-requests}} for Puppet Server. This is the maximum number of workers we will allow to block waiting for a JRuby instance and it is the most useful when set at a level that reserves some free workers out of the 200 to handle non-Ruby requests such as file sync, classifier sync, status, etc.", "created": "2018-07-24T17:22:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Yeah, the break down is 3 acceptor and 12 selector threads (it was 3 & 8 resp. previously), with another 20 in a reserved pool that can be used by either as load hits the server. I'm not super familiar with the \"reserved thread executor\" though this article seemed like the best high level overview of the selector/acceptor/reserved thread allocations: [https://support.sonatype.com/hc/en-us/articles/360000744687-Understanding-Eclipse-Jetty-9-4-8-Thread-Allocation]\n\n\u00a0\n\n(note that the specific heuristic the article points to for reserved allocation has changed since 9.4.8 but I include a link to the up to date one in the PR's docstrings)", "created": "2018-07-24T18:17:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I think the highest default we've ever set for {{max-queued-requests}} is 96. That leaves plenty of space in the 200 thread pool for a dozen or so additional required threads from 2 connectors (puppet-server, code-manager).\n\nLooks good to me!", "created": "2018-07-25T11:25:00.000000"}], "components": [], "created": "2018-05-17T15:20: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@14396dd9"}, {"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": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2jb:"}, {"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": "This is a dependency update and I don't believe should matter to our users. HOWEVER, some advanced users MAY have tuned Jetty's selector, acceptor, or max thread settings. If so, the logic behind thread allocation has changed and they may need to re-tune their systems. I don't believe we document thread tuning anywhere, but it DOCS should be aware of it."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "11/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1667115740_*|*_1_*:*_1_*:*_6507783_*|*_10007_*:*_1_*:*_334846736_*|*_3_*:*_2_*:*_700329403_*|*_5_*:*_1_*:*_3011967134_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_5072911382"}], "description": "We should upgrade to latest Jetty, it contains a number of fixes for Java 9 support, integration with Conscrypt, and may resolve some issues with hanging reads of request bodies suffering from packet corruption.\n\n\u00a0\n\nThe changes that we've seen so far in upgrading change refactor the way Jetty shuts down its MBeanContainer and how it computes and warns about minimum numbers of threads for a server. We may want to ask the SLV team to help in assessing any performance changes when we land this.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16334", "fixedVersions": ["SERVER 6.0.0"], "id": "16334", "issueType": "Improvement", "key": "SERVER-2213", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:35:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Upgrade to Jetty 9.4.11.v20180605", "timeSpent": "PT0S", "updated": "2018-09-19T13:35:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "This appears to be working as expected. We set java max and min size to the same value, so you'll see that amount of memory being used by the JVM regardless of whether puppetserver needs all of it.  Read the tuning guide here:\n\nhttps://puppet.com/docs/puppetserver/5.1/tuning_guide.html\n\nHope this helps", "created": "2018-05-17T17:06:00.000000"}], "components": ["Puppet Server"], "created": "2018-05-15T09:50:00.000000", "creator": "623c0d18761efb0069ce02d4", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@41ee7d87"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzlzxj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/May/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_198955346_*|*_6_*:*_1_*:*_0"}], "description": "Hi,\n\nneed your help in understanding and tuning puppet masters. We have 6 puppet masters (in two datacenters, using f5 to load balance those (least conn):\n\npuppet version: puppet-agent-1.10.10-1.el7.x86_64\n\npuppetserver: puppetserver-2.8.1-1.el7.noarch\n\npuppetdb:puppetdb-4.4.0-1.el7.noarch\n\nCentos7: CentOS Linux release 7.4.1708 (Core)\n\nCPU: 8\n\nRAM: 24Gb\n\n\u00a0\n\n5000 nodes, 90 modules, runinterval is 2 hours.\n\nmax-active-instances: 7, heap size is set to 20GB\n\n\u00a0\n\nCPU spikes max to 40% (which i think is OK), however ram is constantly running at 96%.\u00a0\n\nI am concerned about memory utilization as it is constantly high. Is there any other tuning i missed? I looked at max-requests-per-instance but do not think that is useful in my case as I do not see OOM. when puppet agent runs on nodes (client), cpu on that hosts spikes, but catalog is applied within 40 sec. And even though total number of modules is 90, only 10 modules are used/applied.\u00a0\n\n\u00a0\n\nWould appreciate any help on this.\u00a0\n\n\u00a0\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16761", "fixedVersions": [], "id": "16761", "issueType": "Bug", "key": "SERVER-2208", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c0d18761efb0069ce02d4", "resolution": "Cannot Reproduce", "resolutionDate": "2018-05-17T17:06:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet masters running high on memory", "timeSpent": "PT0S", "updated": "2018-05-17T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-05-11T14:56:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1671f694"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzly6v:"}, {"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 included in PR"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_251544756_*|*_10007_*:*_1_*:*_687298481_*|*_10009_*:*_1_*:*_192325901_*|*_6_*:*_1_*:*_0"}], "description": "The default logback configuration bundled with the {{puppetserver}} package can be\nimproved by:\n\n  - Updating the configuration to no longer require a service restart or reload\n    in order for changes to be picked up (TK-426).\n\n  - Formatting timestamps in application logs to include the time zone in order\n    to enable debugging of geographically distributed installations (PE-13490).\n\nThese changes will allow DEBUG logging to be enabled without requiring a restart\nor reload that may destroy application state and improve the usefulness of log\ndata from installations that span multiple time zones.\n\nRecommendations:\n\n  - Logback configuration should include {{scanPeriod=\"60 seconds\"}} to allow\n    log levels and other settings to be adjusted without requiring service\n    restarts or reloads.\n\n  - Logback patterns for application logs should use a [RFC 3339|https://tools.ietf.org/html/rfc3339#section-5.6]\n    compatible representation that includes the Time Zone. A Java\n    SimpleDateFormat that works with logback is:\n\n{code:xml}\n%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}\n{code}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14777", "fixedVersions": ["SERVER 6.0.0"], "id": "14777", "issueType": "New Feature", "key": "SERVER-2206", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2018-05-24T17:09:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Improve default logging configuration for puppetserver", "timeSpent": "PT0S", "updated": "2018-05-24T17:09:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:8ee7ce10-5b29-49dc-ad32-53903d0d886c", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I'm going to need to spend a day just on the testing of this. But I think I have the tradeoffs in the approach outlined in above in this PR:\nhttps://github.com/puppetlabs/puppetserver/pull/1693", "created": "2018-05-09T17:30:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I merged the jvm-ssl-utils PR, I think that library needs to be released now and updated in clj-parent, then that needs to be released and updated in puppetserver before the puppetserver PR can be merged.", "created": "2018-05-22T11:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've released ssl-utils 1.0 to clojars. ssl-utils is brought into puppetserver via clj-parent and since our last update clj-parent has released 2.0. I'm currently looking into updating to clj-parent 2.0 and then adding ssl-utils to clj-parent 2.0.1 rather than branching 1.7.x and targeting that. (We should upgrade to clj-parent 2.0 prior to releasing 6 anyways.)\n\nI'm currently having a bunch of issues with clj-parent 2.0 and will time box it.", "created": "2018-05-22T14:48:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I do think it's a good idea that we get on clj-parent 2.0. If it ends up being more of a hassle, we should still do it, but probably file a stand-alone ticket to track the work.", "created": "2018-05-22T14:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I spent one day fruitfully upgrading our dependencies and another day accidentally unfruitfully upgrading/fixing bugs. I think I've found the bottom of the rabbit hole but I think it would take a couple days, maybe more, to fix them properly. I've put them into tickets and linked them above.", "created": "2018-05-24T14:56:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Do you want to do those tickets now as a blocker to this, or branch clj-parent?", "created": "2018-05-24T15:02:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I think I can leave the cljs work behind for now. Our dev env for it is broken, but it doesn't seem to work prior to upgrade either. I think the cljs work will be a blocker to Java 9 support though. I have a work around in *our* project.clj for what appears to be a lein bug and that will unblocked me. Other teams may need a similar work around.\n\nSo I'm going to go ahead and not branch, but note that we're carrying forward additional technical debt that needs to be resolved pre-Puppet 6.", "created": "2018-05-24T15:14:00.000000"}], "components": [], "created": "2018-05-09T12:31: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@5548ebe4"}, {"fieldName": "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": "SERVER-2171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzlvpj:"}, {"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": "Server side fixes for finally, fully supporting intermediate CA-ness:\nwith this CRL chains will be persisted when revoking certs."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "22/May/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_175073287_*|*_1_*:*_1_*:*_54665_*|*_10007_*:*_1_*:*_3735414158_*|*_3_*:*_1_*:*_424403268_*|*_5_*:*_1_*:*_7159986267_*|*_6_*:*_1_*:*_0"}], "description": "We need to make sure that Puppet Server can actually handle the CRLs that we are expecting it to. This will most likely entail updating our calls of {{pem->crl}} to be the newer {{pem->crls}}. And updating the revoke behavior to write out the additional crls in the chain when replacing the current crl file.", "epicLinkSummary": "Robust Intermediate CA", "estimate": "PT0S", "externalId": "14775", "fixedVersions": ["SERVER 6.0.0"], "id": "14775", "issueType": "Improvement", "key": "SERVER-2205", "labels": [], "originalEstimate": "PT0S", "parent": "15102", "parentSummary": "Robust Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-06-28T16:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Ensure Server CA can use a CRL path that contains multiple PEM encoded CRLs", "timeSpent": "PT0S", "updated": "2018-09-19T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [{"attacher": "5c81ceb27841653736f2c258", "created": "2018-05-09T08:59:00.000000", "name": "puppetserver.thread", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10669"}], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "That's really interesting. You were using stock 5.1, or had you turned on JRuby 9k? Did get any thread dumps while investigating initially?", "created": "2018-05-08T11:37:00.000000"}, {"author": "5c81ceb27841653736f2c258", "body": "We use stock 5.1 primarily, although I did test JRuby 9K in production briefly and saw the same problem. I have confirmed the problem still occurs in my test environment when using 9K.\u00a0 I've attached the output of jstack from my test env using stock 5.1, it was taken after the 'free jrubies' count had been at 0 for ~1hour.", "created": "2018-05-09T08:59:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Are you using SRV records? IPv6? What OS are you using and is there any relevant information about your networking stack that you can think of?\n\nA quick scan doesn't find this as an existing issue with JRuby and the thread dump shows that all of the instances are parked while waiting on a native methods to receive UDP packets.\n\n{code}\n\"qtp1092219881-129\" #129 prio=5 os_prio=0 tid=0x00007fc7140b3800 nid=0x65d5 runnable [0x00007fc6e8fbb000]\n   java.lang.Thread.State: RUNNABLE\n        at sun.nio.ch.DatagramChannelImpl.receive0(Native Method)\n        at sun.nio.ch.DatagramChannelImpl.receiveIntoNativeBuffer(DatagramChannelImpl.java:414)\n        at sun.nio.ch.DatagramChannelImpl.receive(DatagramChannelImpl.java:400)\n        at sun.nio.ch.DatagramChannelImpl.receive(DatagramChannelImpl.java:345)\n        - locked <0x000000071a752808> (a java.lang.Object)\n        at org.jruby.ext.socket.RubyUDPSocket.doReceive(RubyUDPSocket.java:454)\n        at org.jruby.ext.socket.RubyUDPSocket.doReceive(RubyUDPSocket.java:446)\n        at org.jruby.ext.socket.RubyUDPSocket.recv(RubyUDPSocket.java:388)\n        at org.jruby.ext.socket.RubyBasicSocket$INVOKER$i$recv.call(RubyBasicSocket$INVOKER$i$recv.gen)\n{code}\n\nSo, I'm thinking it might be either us not setting timeouts correctly (or a difference between default configurations between JRuby and MRI), or it might be the networking stack.\n\nThanks, again for the reproducer and info, I'll set aside some time later this week/early next week to reproduce it.", "created": "2018-05-09T11:03:00.000000"}, {"author": "5c81ceb27841653736f2c258", "body": "The puppet server runs on centos 6 using IPv4 and we aren't using SRV records. I can't think of any other details of our networking stack that would be relevant.\n\nLooking on the test puppet server lsof reports open UDP sockets, they all look to be dns queries.", "created": "2018-05-10T06:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've been able to get a a JRuby instance to hang following your reproducer (thank you again for that). Though when inspecting the thread dump I do not have it hanging in the same place you do:\n{code}\n\"qtp1195150101-65\" #65 prio=5 os_prio=0 tid=0x00007f574027b250 nid=0x575b in Object.wait() [0x00007f573d0c2000]\n   java.lang.Thread.State: WAITING (on object monitor)\n        at java.lang.Object.wait(Native Method)\n        - waiting on <0x00000000e2a452a8> (a java.util.ArrayDeque)\n        at java.lang.Object.wait(Object.java:502)\n        at org.eclipse.jetty.server.HttpInput.blockForContent(HttpInput.java:541)\n        at org.eclipse.jetty.server.HttpInputOverHTTP.blockForContent(HttpInputOverHTTP.java:42)\n        at org.eclipse.jetty.server.HttpInput$1.blockForContent(HttpInput.java:1062)\n        at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:304)\n        - locked <0x00000000e2a452a8> (a java.util.ArrayDeque)\n        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)\n        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)\n        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)\n        - locked <0x00000000e2ae0220> (a java.io.InputStreamReader)\n        at java.io.InputStreamReader.read(InputStreamReader.java:184)\n        at java.io.BufferedReader.fill(BufferedReader.java:161)\n        at java.io.BufferedReader.read1(BufferedReader.java:212)\n        at java.io.BufferedReader.read(BufferedReader.java:286)\n        - locked <0x00000000e2ae0220> (a java.io.InputStreamReader)\n        at java.io.Reader.read(Reader.java:140)\n        at clojure.java.io$fn__9562.invokeStatic(io.clj:337)\n        at clojure.java.io$fn__9562.invoke(io.clj:334)\n        at clojure.lang.MultiFn.invoke(MultiFn.java:238)\n        at clojure.java.io$copy.invokeStatic(io.clj:406)\n        at clojure.java.io$copy.doInvoke(io.clj:391)\n        at clojure.lang.RestFn.invoke(RestFn.java:425)\n        at clojure.core$slurp.invokeStatic(core.clj:6665)\n        at clojure.core$slurp.doInvoke(core.clj:6657)\n        at clojure.lang.RestFn.invoke(RestFn.java:439)\n        at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invokeStatic(request_handler_core.clj:78)\n        at puppetlabs.services.request_handler.request_handler_core$body_for_jruby.invoke(request_handler_core.clj:54)\n        at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invokeStatic(request_handler_core.clj:86)\n        at puppetlabs.services.request_handler.request_handler_core$wrap_params_for_jruby.invoke(request_handler_core.clj:81)\n        at puppetlabs.services.request_handler.request_handler_core$jruby_request_handler$fn__31686.invoke(request_handler_core.clj:269)\n{code}\n\nThis is a stack that we've seen elsewhere in customer escalations (/cc [~accountid:557058:f23b0b7f-9386-48b3-bd71-4399766356f4], [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]) and I'm assuming that both the problem in your original thread dump and this one (which both manifest themselves as JRuby instances locking up) have the same root cause (packet corruption) though they are different examples of unrelated portions of our Java networking stack waiting indefinitely to read data.\n\nThe first example, DNS resolution, may have a solution in plumbing appropriate timeouts through our Ruby code and/or JRuby into the Java layer. The second example, I think, comes from Jetty. I'm going to look into providing more documentation around debugging packet corruption and see if I can get some time on the schedule to dive deeper into trying to resolve both issues (putting this back into \"Ready for Engineering\" state until we get that prioritization).", "created": "2018-05-14T11:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Just as a heads up. I've been using latest Server 5.3.1 and have reliably been able to get the failure I included above (Jetty's blocking read) but not the original one (DatagramChannelImpl's blocking read). So I will probably go back and check against 5.1.x soon to see if I can get the DatagramChannel error, but I don't have an ETA on that right now.\n\nI've filed\u00a0SERVER-2213 to see if upgrading Jetty will help resolve the Jetty error I'm seeing in my test environment.", "created": "2018-05-17T15:32:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We're going to do SERVER-2213 (potential fix for the blocking Jetty reads) before we go any further in on the DatagramChannel blocking read. Shooting to do SERVER-2213 in the last week of May.", "created": "2018-05-18T10:16:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "The jetty upgrade has promoted into PE, is there anything else needed for this?", "created": "2018-08-15T16:58:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "So I've tried to reproduce this again and I am no longer able to, even with earlier versions of Puppet Server (and increasing packet loss up to 20%).\n\nSo I can't definitively say this is resolved or what resolved it. However, without a reproducer anymore I can't really move forward. We still *hope* that in environments where this is reproducible that the upgrade to Jetty in Puppet Server 6 will help with this issue (there were numerous improvements in Jetty to its thread pool and the error handling around threads).", "created": "2018-10-02T10:41:00.000000"}], "components": [], "created": "2018-05-08T11:20:00.000000", "creator": "5c81ceb27841653736f2c258", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3de3d5cb"}, {"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": "4 - 50-90% of Customers"}, {"fieldName": "CS Impact", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:textarea", "value": "The end result of this issue is that Puppet masters will just suddenly become unresponsive to agent requests after a code deploy.  It is nearly impossible for a customer to figure out on their own why this occurred, thus ensuring a support call that will take numerous cycles to sort out."}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "CS Priority", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Major"}, {"fieldName": "CS Severity", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "4 - Major"}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hyl2pr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "08/May/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_71414807_*|*_3_*:*_1_*:*_5264572_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_443852478_*|*_10006_*:*_1_*:*_12177906768"}], "description": "This was seen in our production environment where 1 puppetserver would lose jruby workers until all were unusable and a restart was required. When our Operations team fixed a switch with interface errors the loss of jruby threads stopped.\n\nAfter that I was able to replicate the issue in our dev environment. This was tested using a vm running on KVM, steps to replicate are as follows:\n * create vm\u00a0 and set up puppet server\n * create other vms with agents\n * On the host run \"tc qdisc add dev <server vm dev name> root netem corrupt 5%\"\n * watch the 'free jrubies' metric decrease\n\nIt appears that setting packet corruption inside the machine that is running the puppetserver does not cause any lock ups.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16760", "fixedVersions": [], "id": "16760", "issueType": "Bug", "key": "SERVER-2204", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "5c81ceb27841653736f2c258", "resolution": "Cannot Reproduce", "resolutionDate": "2018-10-02T10:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRuby threads lock up due to packet coruption", "timeSpent": "PT0S", "updated": "2018-10-02T10:41:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Thanks for the information, Scott. I'm glad you were able to get this working. Sorry there were some pains though.\n\n[~accountid:557058:31c596d1-7e27-4c91-bc18-1254edb3caab], do you (or someone in RE) know if we should be depending on a recent java tzdata?", "created": "2018-05-07T17:25:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] sorry, missed this ping, will dig into this a little more.", "created": "2018-05-15T11:35:00.000000"}, {"author": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "body": "I think this is actually an issue with the openjdk packaging.\n{noformat}\n[root@jtln4tzsaoliq35 ~]# rpm -q --requires java-1.8.0-openjdk-headless\n/bin/sh\n/bin/sh\n/usr/sbin/alternatives\n/usr/sbin/alternatives\nca-certificates\nchkconfig >= 1.7\nchkconfig >= 1.7\nconfig(java-1.8.0-openjdk-headless) = 1:1.8.0.141-1.b16.el7_3\ncopy-jdk-configs >= 1.1-3\njpackage-utils\nlibawt.so()(64bit)\nlibc.so.6()(64bit)\nlibc.so.6(GLIBC_2.11)(64bit)\nlibc.so.6(GLIBC_2.14)(64bit)\nlibc.so.6(GLIBC_2.2.5)(64bit)\nlibc.so.6(GLIBC_2.3)(64bit)\nlibc.so.6(GLIBC_2.3.2)(64bit)\nlibc.so.6(GLIBC_2.3.4)(64bit)\nlibc.so.6(GLIBC_2.4)(64bit)\nlibc.so.6(GLIBC_2.7)(64bit)\nlibdl.so.2()(64bit)\nlibdl.so.2(GLIBC_2.2.5)(64bit)\nlibfreetype.so.6()(64bit)\nlibgcc_s.so.1()(64bit)\nlibgcc_s.so.1(GCC_3.0)(64bit)\nlibjava.so()(64bit)\nlibjava.so(SUNWprivate_1.1)(64bit)\nlibjli.so()(64bit)\nlibjli.so(SUNWprivate_1.1)(64bit)\nlibjpeg.so.62()(64bit)\nlibjpeg.so.62(LIBJPEG_6.2)(64bit)\nlibjvm.so()(64bit)\nlibjvm.so(SUNWprivate_1.1)(64bit)\nlibm.so.6()(64bit)\nlibm.so.6(GLIBC_2.2.5)(64bit)\nlibnet.so()(64bit)\nlibnet.so(SUNWprivate_1.1)(64bit)\nlibnio.so()(64bit)\nlibnio.so(SUNWprivate_1.1)(64bit)\nlibnspr4.so()(64bit)\nlibnss3.so()(64bit)\nlibnss3.so(NSS_3.2)(64bit)\nlibnssutil3.so()(64bit)\nlibnssutil3.so(NSSUTIL_3.12)(64bit)\nlibplc4.so()(64bit)\nlibplds4.so()(64bit)\nlibpthread.so.0()(64bit)\nlibpthread.so.0(GLIBC_2.2.5)(64bit)\nlibpthread.so.0(GLIBC_2.3.2)(64bit)\nlibpthread.so.0(GLIBC_2.3.3)(64bit)\nlibsmime3.so()(64bit)\nlibssl3.so()(64bit)\nlibstdc++.so.6()(64bit)\nlibstdc++.so.6(CXXABI_1.3)(64bit)\nlibstdc++.so.6(GLIBCXX_3.4)(64bit)\nlibthread_db.so.1()(64bit)\nlibthread_db.so.1(GLIBC_2.2.5)(64bit)\nlibverify.so()(64bit)\nlibverify.so(SUNWprivate_1.1)(64bit)\nlibz.so.1()(64bit)\nlksctp-tools(x86-64)\nnss(x86-64) >= 3.28.4\nnss-softokn(x86-64) >= 3.16.2.3\nrpmlib(BuiltinLuaScripts) <= 4.2.2-1\nrpmlib(CompressedFileNames) <= 3.0.4-1\nrpmlib(FileDigests) <= 4.6.0-1\nrpmlib(PayloadFilesHavePrefix) <= 4.0-1\ntzdata-java >= 2015d\nrpmlib(PayloadIsXz) <= 5.2-1\n{noformat}\n\nIt depends on tzdata-java, and requires that tzdata-java is at least 2015d, but I've been able to confirm that with 2015d `/usr/share/javazi-1.8/tzdb.dat` doesn't exist. If I update to 2015e that file does exist, so I'm guessing that requires should just be a > rather than a >=.", "created": "2018-05-15T12:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Filed with Centos at: https://bugs.centos.org/view.php?id=14966", "created": "2018-06-19T15:59:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We filed the issue with centos, but they appear to not be moving on it. Given that there's a workaround, and nothing we can really do on our end, going to close this.", "created": "2022-02-22T15:55:00.000000"}], "components": ["Puppet Server"], "created": "2018-05-04T12:49:00.000000", "creator": "6243b044f813eb0069290944", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@63af2d54"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzlsiv:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "07/May/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_44052838423_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76057945382"}], "description": "*Puppet Version: n/a*\n *Puppet Server Version: 5.3.1*\n *OS Name/Version: CentOS 7.2*\n\nI'm not absolutely sure if this is the correct place to report this issue, but here we go...\n\nI have Upgraded our puppetmaster from running version 3.8.7 (packaged version), to puppetserver 5.3.1. The puppetserver would not start and gave the error below.\n\npuppetserver[x]: Exception in thread \"main\" java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat (No such file or directory)\n\nIn order to fix the problem, I needed to install the updated package \"tzdata-java\" as the file \"tzdb.dat\" was being linked to but did not exist. At this point puppetserver started...This could be useful for others having the same issue.\n\nDescribe steps to reproduce\u2026 After puppetserver installation then try to start it... The CentOS version was installed as 7.2 but has some updated packages to version 7.4 equivalent.\n\nsudo /opt/puppetlabs/bin/puppet resource service puppetserver ensure=running enable=true\n\n*Desired Behavior:*\n\nStart Puppet Server\n\n*Actual Behavior:*\n{quote}$ sudo /opt/puppetlabs/bin/puppet resource service puppetserver ensure=running enable=true\nError: Systemd start for puppetserver failed!\njournalctl log for puppetserver:\n-- Logs begin at Mon 2018-03-19 08:17:26 MDT, end at Thu 2018-05-03 14:34:51 MDT. --\nMay 03 14:34:50 HOST.DOMAIN systemd[1]: Starting puppetserver Service...\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Exception in thread \"main\" java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat (No such file or directory)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:261)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.security.AccessController.doPrivileged(Native Method)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile.<clinit>(ZoneInfoFile.java:251)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfo.getTimeZone(ZoneInfo.java:589)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.getTimeZone(TimeZone.java:560)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.setDefaultZone(TimeZone.java:666)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.getDefaultRef(TimeZone.java:636)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.Date.<init>(Date.java:254)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipUtils.dosToJavaTime(ZipUtils.java:71)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipUtils.extendedDosToJavaTime(ZipUtils.java:88)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipEntry.getTime(ZipEntry.java:194)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.lastModified(RT.java:391)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.load(RT.java:434)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.load(RT.java:419)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.doInit(RT.java:461)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.<clinit>(RT.java:331)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.main.<clinit>(main.java:20)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat (No such file or directory)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.open0(Native Method)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.open(FileInputStream.java:195)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.<init>(FileInputStream.java:138)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:255)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: ... 16 more\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Background process 4048 exited before start had completed\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: puppetserver.service: control process exited, code=exited status=1\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: Failed to start puppetserver Service.\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: Unit puppetserver.service entered failed state.\n\nError: /Service[puppetserver]/ensure: change from 'stopped' to 'running' failed: Systemd start for puppetserver failed!\njournalctl log for puppetserver:\n-- Logs begin at Mon 2018-03-19 08:17:26 MDT, end at Thu 2018-05-03 14:34:51 MDT. --\nMay 03 14:34:50 HOST.DOMAIN systemd[1]: Starting puppetserver Service...\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Exception in thread \"main\" java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat (No such file or directory)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:261)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.security.AccessController.doPrivileged(Native Method)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile.<clinit>(ZoneInfoFile.java:251)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfo.getTimeZone(ZoneInfo.java:589)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.getTimeZone(TimeZone.java:560)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.setDefaultZone(TimeZone.java:666)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.TimeZone.getDefaultRef(TimeZone.java:636)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.Date.<init>(Date.java:254)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipUtils.dosToJavaTime(ZipUtils.java:71)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipUtils.extendedDosToJavaTime(ZipUtils.java:88)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.util.zip.ZipEntry.getTime(ZipEntry.java:194)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.lastModified(RT.java:391)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.load(RT.java:434)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.load(RT.java:419)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.doInit(RT.java:461)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.lang.RT.<clinit>(RT.java:331)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at clojure.main.<clinit>(main.java:20)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat (No such file or directory)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.open0(Native Method)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.open(FileInputStream.java:195)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at java.io.FileInputStream.<init>(FileInputStream.java:138)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:255)\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: ... 16 more\nMay 03 14:34:51 HOST.DOMAIN puppetserver[4039]: Background process 4048 exited before start had completed\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: puppetserver.service: control process exited, code=exited status=1\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: Failed to start puppetserver Service.\nMay 03 14:34:51 HOST.DOMAIN systemd[1]: Unit puppetserver.service entered failed state.\n\nservice { 'puppetserver':\n ensure => 'stopped',\n enable => 'false',\n}\n{quote}\nSo I check the java installed...(trying to figure out the issue, lol)\n{quote}$ sudo yum list java*\nInstalled Packages\njava-1.7.0-openjdk.x86_64 1:1.7.0.79-2.5.5.1.el7_1 @updates \njava-1.7.0-openjdk-headless.x86_64 1:1.7.0.79-2.5.5.1.el7_1 @updates \njava-1.8.0-openjdk-headless.x86_64 1:1.8.0.161-0.b14.el7_4 @updates \njava-1.8.0-openjdk.x86_64 1:1.8.0.161-0.b14.el7_4 @updates\n{quote}\nThe file is linked to...\n{quote}$ sudo ls -lh /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat\nlrwxrwxrwx 1 root root 30 May 1 14:43 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/lib/tzdb.dat -> /usr/share/javazi-1.8/tzdb.dat\n{quote}\nBut it doesn't exist...\n{quote}# ls -lh /usr/share/javazi-1.8/tzdb.dat\nls: cannot access /usr/share/javazi-1.8/tzdb.dat: No such file or directory\n{quote}\nScratch my head a bit, search on the net... Found possible solution... Installed update to \"tzdata-java\". From \"tzdata-java.noarch 2015d-1.el7\" to \"tzdata-java.noarch 2018d-1.el7\".\n\nNow it works...\n{quote}$ sudo /opt/puppetlabs/bin/puppet resource service puppetserver ensure=running enable=true\nNotice: /Service[puppetserver]/ensure: ensure changed 'stopped' to 'running'\nservice { 'puppetserver':\n ensure => 'running',\n enable => 'true',\n}\n\n$ systemctl status puppetserver.service\npuppetserver.service - puppetserver Service\n Loaded: loaded (/usr/lib/systemd/system/puppetserver.service; enabled)\n Active: active (running) since Thu 2018-05-03 17:01:50 MDT; 11s ago\n Main PID: 8966 (java)\n CGroup: /system.slice/puppetserver.service\n \u2514\u25008966 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -Djava.security.egd=/dev/urandom -XX:OnOutOfMemoryError=kil...\n{quote}\nRegards.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15506", "fixedVersions": [], "id": "15506", "issueType": "Bug", "key": "SERVER-2203", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "6243b044f813eb0069290944", "resolution": "No Available Fix", "resolutionDate": "2022-02-22T15:55:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "On upgrade from v3.8.7 puppetserver fails to start", "timeSpent": "PT0S", "updated": "2022-02-22T15:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This isn't needed anymore. Closing, we can reopen if this situation ever arises again.", "created": "2020-05-26T10:25:00.000000"}], "components": [], "created": "2018-05-03T17:23: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@3e349087"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzlrw7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/May/20"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_537497_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_65120009020"}], "description": "We need to promote Puppet Server 5.3.x into both PE Irving and Johnson (and Platform 5.5.x more generally).\n\nThis might entail duplicating the jobs or improving the existing job. This work may also need to be coordinated with Platform OS/Coremunity /cc [~accountid:70121:b72c16a2-594d-45f8-90bc-c6bc6c9510a8].", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "15106", "fixedVersions": [], "id": "15106", "issueType": "Improvement", "key": "SERVER-2202", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Won't Fix", "resolutionDate": "2020-05-26T10:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Allow promotion of FOSS into multiple PE streams", "timeSpent": "PT0S", "updated": "2020-05-26T10:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "5a53f79a4ee9b3787fdecc5c", "attachments": [{"attacher": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "created": "2018-05-01T11:32:00.000000", "name": "disabled1.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11126"}, {"attacher": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "created": "2018-05-01T11:32:00.000000", "name": "disabled2.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11050"}, {"attacher": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "created": "2018-05-01T11:32:00.000000", "name": "enabled.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/10965"}], "comments": [{"author": "5a53f79a4ee9b3787fdecc5c", "body": "* [https://github.com/puppetlabs/puppet/blob/master/lib/puppet/gettext/config.rb]\n * https://github.com/grosser/fast_gettext\n * Ruby Code Profiling\n * Gatlin \u2013 [https://gatling.io/docs/2.3/quickstart/]", "created": "2018-05-01T12:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Also, we actually DO stub out the translation functions when we disable gettext, in the hook for the setting: https://github.com/puppetlabs/puppet/blob/01725a5f53b13267ae01aa2051e9e3612c8831c3/lib/puppet/defaults.rb#L163-L164", "created": "2018-05-01T12:54:00.000000"}], "components": [], "created": "2018-05-01T11:39: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@3b2c8b6d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzlobj:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "01/May/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_15659940671_*|*_6_*:*_1_*:*_0"}], "description": "While running some performance tests to gather data for a memory use analysis, I noticed that Puppetserver appears to have worse performance when the {{i18n_disabled}} setting is true. This is not the default in either FOSS or PE, so in theory that means what most people are using is fine, but it is still confusing and troubling, given that disabling i18n should result in less work being done. I've attached the graphs below, which were produced via our Gatling performance automation. All three scenarios were run on the same hardware, for one or two hours a piece. The graph with the best performance had i18n enabled, while the other two had it disabled via the {{disable_i18n}} setting in {{puppet.conf}}. The second disabled graph is particularly odd, because the performance seems to get worse over time, which is not something we've seen in any of our other tests (while doing JRuby perf work, we would often see sudden cliffs where performance got bad all at once, but not this kind of steady incline). \nThe enabled graph looks like most of our other JRuby 9k perf results, some initial poor performance as JIT warms up, followed by steady low response times.\n\nNote these tests were with FOSS, so they did not use the setting (or hiera flag?) that PE uses via its configuration module. They all had max-requests-per-instance set to 0, so JRuby instances were never flushed.\n\nThe job links are here:\nDisabled 1: http://puppetserver-perf-driver55.delivery.puppetlabs.net:8080/job/puppetserver-infinite/99/\nDisabled 2: http://puppetserver-perf-driver55.delivery.puppetlabs.net:8080/job/puppetserver-infinite/100/\nEnabled: http://puppetserver-perf-driver55.delivery.puppetlabs.net:8080/job/puppetserver-infinite/101/\n\nEach job has some additional archived data, including GC logs, that may help in tracking this down.\n\nI'll follow up here with a longer run of both states.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17096", "fixedVersions": [], "id": "17096", "issueType": "Bug", "key": "SERVER-2201", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Cannot Reproduce", "resolutionDate": "2018-10-29T17:38:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver appears to have worse performance when i18n is disabled", "timeSpent": "PT0S", "updated": "2018-10-29T17:38:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I have pushed up a branch for this here https://github.com/Magisus/ci-job-configs/tree/ps-release, but I think it still needs to be updated to separate the tagging and the subsequent bumping to SNAPSHOT, so that we build and promote the tag instead of the SNAPSHOT commit.", "created": "2018-07-11T11:46:00.000000"}], "components": [], "created": "2018-05-01T11:21:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Puppetserver has a simple release pipeline that:\n1) Bumps to the release version, tags that commit, then bumps back to snapshot.\n2) Builds packages of the release version commit.\n3) Promotes the tagged commit into PE."}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@21f3d4d1"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2if:"}, {"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_*:*_527115125_*|*_1_*:*_1_*:*_3737717504_*|*_10007_*:*_1_*:*_352945342_*|*_3_*:*_2_*:*_447519458_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_2_*:*_2385831105"}], "description": "Now that we have a single job that will do version bumps and tag new releases, we need some follow up jobs to build artifacts for the tag and promote it into PE. Currently these steps must be triggered manually, tacking together parts of the existing pipeline with custom args. We should instead chain just the pieces we need after the tagging job and have the correct args passed between them.", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16549", "fixedVersions": ["None"], "id": "16549", "issueType": "Task", "key": "SERVER-2200", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Done", "resolutionDate": "2018-07-26T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Build a complete release pipeline for puppetserver", "timeSpent": "PT0S", "updated": "2018-07-26T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b], is this something that you're doing as part of the jruby routes metrics? If not should this block on that?", "created": "2018-04-26T17:19:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Ideally, we could store this in the SLF4J Mapped Diagnostic Context and then reference it in the logback-access pattern. However, logback-access doesn't support pulling values from the MDC at the moment:\n\nhttps://jira.qos.ch/browse/LOGBACK-1016\n\nCurrently, the only way to get this into the access log would be to add it to the Response headers which can be referenced in logback-access patterns.", "created": "2018-04-26T17:22:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] This is something I thought of while working on SERVER-1975, filing it here so I don't forget about it. The implementation for SERVER-1975 might not enable this sort of metric gathering since the timing happens off in a JRuby pool callback that is fairly isolated from the HTTP request pathway. The Mapped Diagnostic Context might be able to bridge that gap if it is usable.\n\nOtherwise, the best place to build this in may be the ring handler that pairs requests with JRuby instances.", "created": "2018-04-26T17:36:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Looked into this some more and adding MDC support to logback turned out to be very straight-forward. Filed TK-470 for that. Marked that as a blocker along with SERVER-1975.\n\nIf we have those two pieces, this comes down to saving the elapsed borrow time to the MDC in the {{track-return-instance!}} callback and updating the pattern in request-logging.xml to print it out to the access log.", "created": "2018-04-30T09:44:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We merged your MDC work already, didn't we [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]? Is for adding the metrics from SERVER-1975 to it? Or is this done but the ticket isn't updated?", "created": "2019-07-10T14:51:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Was just looking at this one. Not sure why it's set to \"ready for merge\" as it isn't done yet. But with SERVER-1975 and TK-470 in, it will be something like a 5-line patch.", "created": "2019-07-10T15:00:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "4 line patch. Should be good to go now :)", "created": "2019-07-10T16:02:00.000000"}], "components": [], "created": "2018-04-26T17:05:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@610dafd2"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzlkx3:"}, {"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": "The Puppet Server access logs now includes information about how long a JRuby instance was in use to process a given request, in addition to the overall processing time of the request."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_322137004_*|*_1_*:*_1_*:*_36211363495_*|*_10007_*:*_2_*:*_3020420129_*|*_3_*:*_2_*:*_80492601_*|*_5_*:*_1_*:*_0"}], "description": "As a operator of Puppet infrastructure I would like to identify individual nodes or Puppet API calls that are particularly expensive in terms of JRuby processing time. This will allow me to eliminate expensive outliers and make efficient use of JRuby availability which is the primary bottleneck for Puppet Server.\n\nh3. Current Behavior\n\nThe Puppet Server access log currently follows the Apache common log format with the request duration in milliseconds appended to the end:\n\n{noformat}\n10.32.47.186 - - [26/Apr/2018:00:39:48 -0700] \"POST /puppet/v3/catalog/pe-201810-master.puppetdebug.vlan?environment=production HTTP/1.1\" 200 1655399 \"-\" \"Puppet/5.5.1 Ruby/2.4.4-p296 (x86_64-linux)\" 21014\n{noformat}\n\nh3. Desired Behavior\n\nThe duration should be followed by the number of milliseconds that a JRuby was borrowed to service the request, or a \"-\" character if no JRuby was used:\n\n{noformat}\n10.32.47.186 - - [26/Apr/2018:00:39:48 -0700] \"POST /puppet/v3/catalog/pe-201810-master.puppetdebug.vlan?environment=production HTTP/1.1\" 200 1655399 \"-\" \"Puppet/5.5.1 Ruby/2.4.4-p296 (x86_64-linux)\" 21014 17490\n\n10.32.47.186 - - [26/Apr/2018:16:00:07 -0700] \"GET /puppet/v3/environment_classes?environment=production HTTP/1.1\" 200 124935 \"-\" \"Apache-HttpAsyncClient/4.1.2 (Java/1.8.0_171)\" 6767 -\n{noformat}", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15505", "fixedVersions": ["SERVER 5.3.10", "SERVER 6.3.2", "SERVER 6.5.0"], "id": "15505", "issueType": "Improvement", "key": "SERVER-2198", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Fixed", "resolutionDate": "2019-07-29T10:39:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Include JRuby processing time in Puppet Server access log entries", "timeSpent": "PT0S", "updated": "2019-10-12T23:15:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "My understanding is that the path {{/etc/puppetlabs/puppet/ssl/certs/ca.pem}} is the {{localcacert}} which is used by Puppet to create SSL connections (which the master maybe shouldn't be using when creating its end of the connection).\n\nThe path {{/etc/puppetlabs/puppet/ssl/ca/ca_crt.pem}} is the CA's cert ({{cacert}} setting) which is served to agents and used for signing and until the early 5 series could not be a bundle otherwise the CA would fail when autosigning. It had to be placed on the agent out of band for so that the agent would not download the single cert used for signing when the CA was acting as an intermediate CA. I believe that was fixed in [this pr|https://github.com/puppetlabs/puppetserver/pull/1480] and documented [here|https://github.com/puppetlabs/puppetserver/pull/1538/files] but the main Puppet documenation on External CAs was never updated correctly.\n\nThat should be verified, I grabbed the links but didn't look into it deeply and there's so many caveats with this that I could have missed something, I think that this ticket will be updating the Puppet docs linked in the description if I'm right. We may want to ask product whether the master should use the CA cert or the agent's cert or if it should have its own copy of the ca bundle.", "created": "2018-04-27T12:45:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I opened a PR against puppet-docs that deletes the offending documentation and instead points to the docs Finch wrote as part of his work that I linked above.", "created": "2018-04-30T14:40:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89]\u00a0please add release notes for this issue if needed, thanks!\u00a0", "created": "2018-08-28T09:07:00.000000"}], "components": [], "created": "2018-04-26T10:32:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Puppetserver is set up to use a cert bundle, that whole bundle should served via the CA cert endpoint"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58e0a7f1"}, {"fieldName": "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": "SERVER-2171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2q7:"}, {"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": "This ended up being docs changes on its own."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_360503429_*|*_10007_*:*_1_*:*_269579947_*|*_5_*:*_1_*:*_11995138753_*|*_6_*:*_1_*:*_0"}], "description": "According to the [current instructions|https://puppet.com/docs/puppet/5.3/config_ssl_external_ca.html#option-2-puppet-server-functioning-as-an-intermediate-ca] on how to set up an intermediate CA, the cert bundle should be stored at {{/etc/puppetlabs/puppet/ssl/certs/ca.pem}}, but in the CA cert location at {{/etc/puppetlabs/puppet/ssl/ca/ca_crt.pem}}, should contain only the intermediate cert, not the whole bundle. This is a problem, because the server's CA cert endpoint serves from the latter, meaning it only serves up the intermediate CA cert to the agent, not the whole bundle. We should investigate the best way to make sure that the bundle gets served to the agent. It may be possible already to put the bundle in {{ca_crt.pem}}, thanks to some updates to our SSL code since those docs were written. If that's the case, we should update the docs, and write our CI tool to use the new locations.", "epicLinkSummary": "Robust Intermediate CA", "estimate": "PT0S", "externalId": "16758", "fixedVersions": ["SERVER 6.0.0"], "id": "16758", "issueType": "Improvement", "key": "SERVER-2197", "labels": [], "originalEstimate": "PT0S", "parent": "15102", "parentSummary": "Robust Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-05-03T17:33:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppetserver needs to serve the CA bundle from the CA cert endpoint", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:80b1a2d0-6c75-4995-bdc3-c422bab7aabd", "body": "This must be a Puppet Server issue and that its YAML parser is different from that of MRI. Moving this ticket.", "created": "2018-04-25T04:52:00.000000"}], "components": [], "created": "2018-04-24T15:59:00.000000", "creator": "557058:e6726ff0-7a50-486d-b5db-41043ba64e4d", "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 puppet agent run should at least successfully compile a catalog, when hieradata contains valid yaml syntax (with tab characters as separation characters).\u00a0"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1fe00b3d"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzli7z:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "25/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_177508521_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_121977630382"}], "description": "While adding saz-ssh, and the requisite hieradata, I copied some entries from /etc/ssh/sshd_config to the hiera key `ssh::server_options` and added the colons and indenting. The \"AuthorizedKeysFile\" apparently has a \"tab\" character between the key and value in the config file. Here is a very small snippet of the hiera config:\n{code:title=hieradata/common.yaml}#####\n# ssh: https://forge.puppet.com/saz/ssh\n# NOTE: Remember to put 'yes' or 'no' in quotes so that it is a \"string\" and not a boolean (True/False)\nssh::use_issue_net: true # CCE-CCE-27314-4\nssh::storeconfigs_enabled: false # For now\nssh::server_options:\n  AuthorizedKeysFile:\t.ssh/authorized_keys\n  ChallengeResponseAuthentication: 'no'\n  Ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc # CCE-CCE-27295-5\n{code}\n\u00a0\n\u00a0 That configuration seemed to run fine with {{puppet apply}}, however with puppet agent (against PE 2017.3.5), I got the following error:\n\n{code:title=error}\nError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unable to parse (/etc/puppetlabs/code/environments/hieratest/hieradata/common.yaml): found character '\\t(TAB)' that cannot start any token. (Do not use \\t(TAB) for indentation) while scanning for the next token at line 503 column 22 on node linux-sandbox.domain.corp\n{code}\n\nNOTE: that is the {{(space)(space)AuthorizedKeys:(tab).ssh/authorized_keys}} line above.\n\nI have removed the offending tabs, as the error message was *awesome* in leading me exactly to the spot that it was unhappy about. However, according to the yaml spec: http://yaml.org/spec/1.2/spec.html#id2778241 the tab character is valid as a \"separation\" character (not an \"indent\" character). This means that tools like yamllint or yaml-lint do not detect this problem, but puppet runs barf. I am not entirely sure this isn't a puppetserver problem (as it works with puppet apply.\n\n", "environment": "CentOS 7.4 x86_64, Puppet Enterprise 2017.3.5", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16547", "fixedVersions": [], "id": "16547", "issueType": "Bug", "key": "SERVER-2196", "labels": ["needs_repro"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:e6726ff0-7a50-486d-b5db-41043ba64e4d", "resolution": "Won't Fix", "resolutionDate": "2022-03-08T10:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "tabs as separators in yaml files error should be allowed according to yaml spec", "timeSpent": "PT0S", "updated": "2022-03-08T10:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "attachments": [{"attacher": "557058:104b5720-714d-4539-b455-df472251ec89", "created": "2018-05-17T00:31:00.000000", "name": "Screen Shot 2018-05-16 at 11.30.37 PM.png", "uri": "https://puppet.atlassian.net/rest/api/3/attachment/content/11127"}], "comments": [{"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Two places where adding this might make sense:\n\n  - As an additional output option for the status API, perhaps at a TRACE level: {{status/v1/services/jruby-metrics?level=trace}}\n\n  - As a dedicated endpoint under {{/puppet-admin-api}}\n\nThe second might make more sense as it requires authentication via a certificate --- given stacktraces show up on security audits as sensitive information that should be access controlled.", "created": "2018-04-20T12:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Discussed at our recent grooming session.\n\nWe like the idea of being able to easily pin point the cause of a hung process and then prioritize fixing the cause of the hang before adding in a global timeout to JRuby that may or may not leave the system in a good state.\n\nWe were unsure about an actual HTTP api for it though and [~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] believes there's a why to get a meaningful JRuby stack trace out of Puppet Server using linux's perf tool (and maybe reifyclasses?). Right now we're going to look into that further so that we can hopefully provide a faster response to the current customer escalation that Charlie mentioned.\n\nWe will do that work in\u00a0PE-24082, share it more widely if successful, and reprioritize this and SERVER-1997 in relation to how successful that work is.", "created": "2018-04-27T12:18:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Tools like JStack won't correlate a JRuby thread with the request that is being processed by Puppet Server --- I don't know if perf would be any more helpful in that regard. An API could return the JRuby instance ID and borrow reason which makes it very easy to find the right stacktrace.\n\nIf we could get the info from {{perf}} that would be awesome and a useful option to have. However, I think an API would save us time in the long run by providing better context and also cutting through the red tape that can come with installing debugging tools on production servers.", "created": "2018-04-27T13:11:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I had a minute between collecting stacktraces for my last ticket and I wanted to investigate this a little further. I think we can get a stack trace from a JRuby scripting container calling the below, though I haven't verified it's a Ruby vs JRuby interpreter stacktrace:\n\n{{(-> scripting-container .getProvider .getRuntime .getCurrentContext (.createBacktrace2 100}} true))\n\nOr probably the java equivalent implemented on our [subclass of scripting container|https://github.com/puppetlabs/jruby-utils/blob/master/src/java/com/puppetlabs/jruby_utils/jruby/InternalScriptingContainer.java]. Access to each scripting container should be available even when checked out by the pools {{getRegisteredElements}}\u00a0method. Doing this from the jruby-pool-manager impl in clojure should allow us to display checkout reason and stacktrace.\n\nIf we don't want to\u00a0open this up as an http api we might still want to register a signal handler?", "created": "2018-05-07T11:10:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Also, fwiw, my current hunch is that a Ruby stack trace won't help the previously mentioned support escalation (though if my hunch is correct it'd obviously eliminate JRuby as a culprit).", "created": "2018-05-07T11:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Whell, turns out you can already do this!\n\n\n The steps to do this are:\n # Add {{-Djruby.management.enabled=true}} to the {{JAVA_ARGS}}.\n # Uncomment the {{metrics.metrics-webservice.servlet-init-params.policyLocation}} setting in {{/etc/puppetlabs/puppetserver/conf.d/metrics.conf}} (should be a file path to {{/etc/puppetlabs/puppetserver/jolokia-access.xml}}.\n # Create a file in the location specified by {{policyLocation}} above with the content:\n ## \n{code}## <?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<restrict>\n\n  <allow>\n    <mbean>\n      <name>org.jruby:type=Runtime,service=Runtime</name>\n      <operation>threadDump</operation>\n    </mbean>\n  </allow>\n\n</restrict>\n{code}\n # Restart the server\n # Go to {{https://<master>/metrics/v2/list}} and find the JRuby instance whose stacktrace you want\n ## The full mbean name will be {{org.jruby:name=<internal jruby instance identifier>,service=Runtime,type=Runtime}}\n # Go to {{https://<master>/metrics/v2/exec/<full mbean name>/threadDump}} to see the current thread dump for that Jruby instance.\n\n\u00a0\nNote: the Jolokia exec functionality that this leverages is super powerful. Users should be very weary of turning it on as it allows remote code execution by design. There are ways in the jolokia-access.xml file to further limit access (like by ip range) that they should also take advantage of.", "created": "2018-05-17T00:31:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've attached a screenshot of a query against a local vagrant vm running Puppet Server 5.3.1.", "created": "2018-05-17T00:32:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Oh nice! Yeah, the JMX exec functionality that Jolokia exposes is a very, very sharp tool which is exactly why I locked it down by default :)\n\nBut, given the heavy lifting seems to be already available via JMX, perhaps it would be straight-forward to add an Puppet Server admin API endpoint that takes a JRuby instance ID and returns the borrow reason, borrow time and JMX stacktrace. This would solve two shortcomings of the JMX approach:\n\n  - The internal JRuby instance identifier isn't directly mappable to the JRuby pool id which identifies \"the instance that has been stuck for 24 hours doing _something_\".\n\n  - The {{/metrics/v2}} API has no auth, while {{/puppet-admin-api}} requires a certificate.\n\nI think we'll get the most use out if this if it is exposed in a way that can be enabled by default and automatically polled by the PE support script. Otherwise, if someone has to jump through hoops to properly secure JMX exec and then re-start the service (which clears the hang that we need to debug), then we'll have to put in more effort to walk users through it along with a lower success rate.", "created": "2018-05-17T10:18:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Below is a threadDump from a VM stuck in the clojure {{slurp}} call that we're seeing in PE-24082. You might notice that the JRuby thread dump printer does a great job of filtering out JVM symbols and then pretty printing the non-Java calls, making the clojure stack easier to read as well (with the exception that functions names are all {{invoke}}).\n\nOddly, JRuby prints out stack traces for all threads its VM knows about, which includes jetty threads that have checked it out previously. You can see both JRuby instances' threads in the below thread dump (the calls to io.clj are where the issue leaves clojure and/or ruby and becomes a pure java problem).\n{code}\nAll threads known to Ruby instance 1555721580\n\nThread: qtp1105564375-63\nStack:\njruby_internal.clj:133:in `invoke': thread dump (RuntimeError)\n\tfrom jruby_internal.clj:130:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom jruby_internal.clj:271:in `invoke'\n\tfrom jruby_internal.clj:264:in `invoke'\n\tfrom jruby_internal.clj:312:in `invoke'\n\tfrom jruby_internal.clj:301:in `invoke'\n\tfrom jruby_core.clj:212:in `invoke'\n\tfrom jruby_core.clj:199:in `invoke'\n\tfrom jruby_request.clj:46:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:742:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n\n\nThread: clojure-agent-send-pool-0\nStack:\nthread dump (RuntimeError)\n\n\nThread: qtp1105564375-59\nStack:\njruby_internal.clj:133:in `invoke': thread dump (RuntimeError)\n\tfrom jruby_internal.clj:130:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom jruby_internal.clj:271:in `invoke'\n\tfrom jruby_internal.clj:264:in `invoke'\n\tfrom jruby_internal.clj:312:in `invoke'\n\tfrom jruby_internal.clj:301:in `invoke'\n\tfrom jruby_core.clj:212:in `invoke'\n\tfrom jruby_core.clj:199:in `invoke'\n\tfrom jruby_request.clj:46:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:742:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n\n\nThread: async-dispatch-2\nStack:\nthread dump (RuntimeError)\n\n\nThread: qtp1105564375-61\nStack:\njruby_internal.clj:133:in `invoke': thread dump (RuntimeError)\n\tfrom jruby_internal.clj:130:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom jruby_internal.clj:271:in `invoke'\n\tfrom jruby_internal.clj:264:in `invoke'\n\tfrom jruby_internal.clj:312:in `invoke'\n\tfrom jruby_internal.clj:301:in `invoke'\n\tfrom jruby_core.clj:212:in `invoke'\n\tfrom jruby_core.clj:199:in `invoke'\n\tfrom jruby_request.clj:46:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:738:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n\n\nThread: qtp1105564375-62\nStack:\njruby_internal.clj:133:in `invoke': thread dump (RuntimeError)\n\tfrom jruby_internal.clj:130:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom jruby_internal.clj:271:in `invoke'\n\tfrom jruby_internal.clj:264:in `invoke'\n\tfrom jruby_internal.clj:312:in `invoke'\n\tfrom jruby_internal.clj:301:in `invoke'\n\tfrom jruby_core.clj:212:in `invoke'\n\tfrom jruby_core.clj:199:in `invoke'\n\tfrom jruby_request.clj:46:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:721:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n\n\nThread: qtp1105564375-66\nStack:\nio.clj:337:in `invokeStatic': thread dump (RuntimeError)\n\tfrom io.clj:334:in `invoke'\n\tfrom io.clj:406:in `invokeStatic'\n\tfrom io.clj:391:in `doInvoke'\n\tfrom core.clj:6665:in `invokeStatic'\n\tfrom core.clj:6657:in `doInvoke'\n\tfrom request_handler_core.clj:78:in `invokeStatic'\n\tfrom request_handler_core.clj:54:in `invoke'\n\tfrom request_handler_core.clj:86:in `invokeStatic'\n\tfrom request_handler_core.clj:81:in `invoke'\n\tfrom request_handler_core.clj:269:in `invoke'\n\tfrom jruby_request.clj:48:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:738:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n\n\nThread: qtp1105564375-65\nStack:\nio.clj:337:in `invokeStatic': thread dump (RuntimeError)\n\tfrom io.clj:334:in `invoke'\n\tfrom io.clj:406:in `invokeStatic'\n\tfrom io.clj:391:in `doInvoke'\n\tfrom core.clj:6665:in `invokeStatic'\n\tfrom core.clj:6657:in `doInvoke'\n\tfrom request_handler_core.clj:78:in `invokeStatic'\n\tfrom request_handler_core.clj:54:in `invoke'\n\tfrom request_handler_core.clj:86:in `invokeStatic'\n\tfrom request_handler_core.clj:81:in `invoke'\n\tfrom request_handler_core.clj:269:in `invoke'\n\tfrom jruby_request.clj:48:in `invoke'\n\tfrom jruby_request.clj:33:in `invoke'\n\tfrom request_handler_service.clj:47:in `handle_request'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom request_handler.clj:3:in `invoke'\n\tfrom core.clj:2515:in `invoke'\n\tfrom ring_middleware.clj:284:in `invoke'\n\tfrom core.clj:168:in `invoke'\n\tfrom core.clj:211:in `invoke'\n\tfrom core.clj:45:in `invoke'\n\tfrom core.clj:357:in `invoke'\n\tfrom core.clj:51:in `invoke'\n\tfrom ringutils.clj:83:in `invoke'\n\tfrom master_core.clj:738:in `invoke'\n\tfrom ring.cljc:25:in `invoke'\n\tfrom ring.cljc:16:in `invoke'\n\tfrom comidi.clj:245:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:152:in `invoke'\n\tfrom http.clj:148:in `invoke'\n\tfrom comidi.clj:332:in `invoke'\n\tfrom jetty9_core.clj:433:in `invoke'\n\tfrom normalized_uri_helpers.clj:74:in `invoke'\n{code}", "created": "2018-05-17T10:25:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "That seems pretty nice. [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] you OK with the current state of stack dumps? ", "created": "2018-05-17T17:15:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "[~accountid:70121:199f31c7-67c7-42b0-b148-18ad3a391ab0] The output looks great and definitely something we'll try at the moment. However, I still see a need for a solution that doesn't involve discarding the state of the problem and has a lower bar for secure configuration.\n\nThis should be data that we can collect immediately as a first response to troubleshooting a hung Puppet Server, ideally as part of an automated diagnostic check in the PE support script.", "created": "2018-05-17T17:39:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b] what's the best way for us to get the current abilities documented for customer success/customers? Do you think this would be valuable in the FOSS docs, or should this target some CS best practices docs?", "created": "2018-05-22T11:48:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Filed SUP-465 to get the JMX instructions written up as a KB article similar to what we have for using JStack to pull Java stack traces.\n\nI'm also marking this ticket as re-opened as we really do need something that can be deployed as a first response without any re-configuration that discards the state we need to debug.", "created": "2018-05-29T09:21:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "I took a stab at spiking this out, and it turned out to be fairly straight-forward:\n\n{code:patch}\ndiff --git a/src/clj/puppetlabs/services/puppet_admin/puppet_admin_core.clj b/src/clj/puppetlabs/services/puppet_admin/puppet_admin_core.clj\nindex a2d58be9..95d55e22 100644\n--- a/src/clj/puppetlabs/services/puppet_admin/puppet_admin_core.clj\n+++ b/src/clj/puppetlabs/services/puppet_admin/puppet_admin_core.clj\n@@ -3,6 +3,12 @@\n   (:require [puppetlabs.kitchensink.core :as ks]\n             [puppetlabs.puppetserver.ringutils :as ringutils]\n             [puppetlabs.services.protocols.jruby-puppet :as jruby-puppet]\n+\n+            [puppetlabs.services.jruby-pool-manager.jruby-core :as jruby-core]\n+            [puppetlabs.trapperkeeper.services :as tk-services]\n+            [puppetlabs.ring-middleware.utils :as tk-ring]\n+            [clojure.java.jmx :as jmx]\n+\n             [puppetlabs.puppetserver.liberator-utils :as liberator-utils]\n             [schema.core :as schema]\n             [liberator.core :refer [defresource]]\n@@ -76,7 +82,21 @@\n       (environment-cache-resource jruby-service\n         (get-in request [:query-params \"environment\"])))\n     (comidi/DELETE \"/jruby-pool\" []\n-      (handle-jruby-pool-flush jruby-service))))\n+      (handle-jruby-pool-flush jruby-service))\n+    (comidi/GET \"/jruby-pool/thread-dump\" []\n+      (let [{:keys [pool-context]} (tk-services/service-context jruby-service)\n+            jruby-instances (jruby-core/registered-instances pool-context)]\n+        (tk-ring/json-response\n+         200\n+         (for [instance jruby-instances]\n+           (let [mbean-name (-> (:scripting-container instance)\n+                                .getProvider\n+                                .getRuntime\n+                                .getBeanManager\n+                                .base\n+                                (str \"service=Runtime\"))]\n+             {:id (:id instance)\n+              :thread-dump (jmx/invoke mbean-name :threadDump)})))))))\n \n (defn versioned-routes\n   [jruby-service]\n{code}\n\nThe code above requires {{-Djruby.management.enabled=true}} to be set on the process. The implementation probably belongs over in the jruby-utils project so that it can be used by other services that run JRuby.", "created": "2019-08-15T17:37:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Looks like a JRuby bug hit somewhere between 9.2.0.0 and 9.2.7.0 that broke the stack traces provides by {{jruby.management.enabled}}. Fixed in 9.2.8.0 by this commit:\n\nhttps://github.com/jruby/jruby/commit/d2875a4", "created": "2019-08-19T10:36:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Ha, we want 9.2.8 in Lovejoy for the perf improvements. We were releasing 9.2.7 to prepare for the release not knowing exactly when 9.2.8 was coming out, of course it came out while we were in the middle of upgrading. I'll do the 9.2.8 upgrade now.", "created": "2019-08-19T11:04:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Put up a pair of pull requests. The first is to jruby-utils, and provides an API for gathering thread-dump info from a JRuby pool:\n\nhttps://github.com/puppetlabs/jruby-utils/pull/71\n\nThe second is to Puppetserver and adds an REST API endpoint to {{/puppet-admin-api}} which retrieves the thread dumps from jruby-utils and formats them as JSON:\n\nhttps://github.com/puppetlabs/puppetserver/pull/2154\n\nBoth require {{-Djruby.management.enabled=true}} to be set in JAVA_ARGS. But, once that is in place, thread dumps can be pulled in one REST API call vs. re-configuring JMX access rules, listing out JRuby mbeans, and then looping through the list and invoking the threadDump method.", "created": "2019-08-19T20:35:00.000000"}], "components": [], "created": "2018-04-20T12:49:00.000000", "creator": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@139f442c"}, {"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": "Long running Jrubies are very difficult to identify the root cause for. Some customers have been satisfied with just restarting puppetserver but that will not always be the case. The cost of not having this is a customer confidence issue when we cannot explain the root cause of their issue, only provide the workaround of restarting.\n\nSupport has reached the extent of how deeply they can dig without this additional functional.\n\nThe only additional option is debug mode which has significant performance impacts and is not suitable for running in production. It also requires a restart which means you may be waiting for an extended period to see the issue recur. "}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-1313"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzmda7:"}, {"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": "Added an endpoint to Puppet Server, `/puppet-admin-api/v1/jruby-pool/thread-dump`, that will return a thread dump of running JRuby instances, if `jruby.management.enabled` has been set to true in the JVM running puppetserver. See https://github.com/puppetlabs/puppetserver/blob/master/documentation/admin-api/v1/jruby-pool.markdown#get-puppet-admin-apiv1jruby-poolthread-dump for details."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_426747399_*|*_1_*:*_1_*:*_602977363_*|*_10007_*:*_1_*:*_1954293192_*|*_3_*:*_1_*:*_178413053_*|*_10009_*:*_1_*:*_664369589_*|*_4_*:*_1_*:*_38661114583_*|*_5_*:*_1_*:*_0_*|*_6_*:*_1_*:*_404056675_*|*_10005_*:*_1_*:*_1507255182"}], "description": "As an administrator of Puppet Infrastructure, I need to determine why a Puppet Server request using a JRuby instance has stalled before I restart the service. This can happen if the request has triggered methods from core Puppet code or a Ruby plugin that will never return.\n\nh2. Reproduction Case\n\n  - Install and start Puppet Server on a CentOS 7 VM:\n\n{code:bash}\nrpm -Uvh http://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm\nyum install -y puppetserver\n\n/opt/puppetlabs/puppet/bin/puppet config set --section main server \"$(hostname -f)\"\nsystemctl start puppetserver\n{code}\n\n  - Configure {{site.pp}} to sleep for an absurd amount of time in response to a catalog request:\n\n{code:puppet}\ncat <<\"EOM\" > /etc/puppetlabs/code/environments/production/manifests/site.pp\nnode default {\n  inline_template('<% Kernel.sleep(1800) %>')\n  # I feel much better after a 30 minute catnap!\n}\nEOM\n{code}\n\n  - Kick off a puppet run: {{/opt/puppetlabs/bin/puppet agent -t}}\n\n  - Send the node's hostname to your coworker on Friday afternoon and tell them to figure out what is going on without looking at {{site.pp}} (because this could be a problem with 1 out of 100s of installed modules). Leave for a two week vacation.\n\nh3. Current Options\n\nBelow are listed two current options for checking the state of stalled JRuby requests. Both can help identify that a request is indeed stalled, but neither provides visibility into what Ruby code is responsible.\n\nChecking the status of the compiler pool shows that a catalog request is hung, but gives no info as to where the request is stalled:\n\n{noformat}\n# curl -k https://localhost:8140/status/v1/services/jruby-metrics?level=debug|python -m json.tool\n{\n    \"active_alerts\": [],\n    \"detail_level\": \"debug\",\n    \"service_name\": \"jruby-metrics\",\n    \"service_status_version\": 1,\n    \"service_version\": \"5.3.1\",\n    \"state\": \"running\",\n    \"status\": {\n        \"experimental\": {\n            \"jruby-pool-lock-status\": {\n                \"current-state\": \":not-in-use\",\n                \"last-change-time\": \"2018-04-20T18:24:02.904Z\"\n            },\n            \"metrics\": {\n                \"average-borrow-time\": 82,\n                \"average-free-jrubies\": 0.000271409884577374,\n                \"average-lock-held-time\": 0,\n                \"average-lock-wait-time\": 0,\n                \"average-requested-jrubies\": 0.0,\n                \"average-wait-time\": 0,\n                \"borrow-count\": 5,\n                \"borrow-retry-count\": 0,\n                \"borrow-timeout-count\": 0,\n                \"borrowed-instances\": [\n                    {\n                        \"duration-millis\": 470045,\n                        \"reason\": {\n                            \"request\": {\n                                \"request-method\": \"post\",\n                                \"route-id\": \"puppet-v3-catalog-/*/\",\n                                \"uri\": \"/puppet/v3/catalog/tvtyjvubmmaixqi.delivery.puppetlabs.net\"\n                            }\n                        },\n                        \"time\": 1524248690580\n                    }\n                ],\n                \"num-free-jrubies\": 0,\n                \"num-jrubies\": 1,\n                \"num-pool-locks\": 0,\n                \"queue-limit-hit-count\": 0,\n                \"queue-limit-hit-rate\": 0.0,\n                \"requested-count\": 5,\n                \"requested-instances\": [],\n                \"return-count\": 4\n            }\n        }\n    }\n}\n{noformat}\n\nPulling a thread dump using {{jstack}} after installing {{java-1.8.0-openjdk-devel}} shows a JRuby thread waiting (on RubyKernel.sleep, but thats a lucky coincidence), but the stack trace is at the Java and JRuby AST level which gives no indications as to what Ruby code caused it:\n\n{noformat}\n# sudo -u puppet jstack $(cat /var/run/puppetlabs/puppetserver/puppetserver.pid)\n...\n\"qtp281635025-65\" #65 prio=5 os_prio=0 tid=0x00007f30f00c4000 nid=0x9f3 in Object.wait() [0x00007f30edaa4000]\n   java.lang.Thread.State: TIMED_WAITING (on object monitor)\n\tat java.lang.Object.wait(Native Method)\n\t- waiting on <0x00000000f568d888> (a org.jruby.RubyThread)\n\tat org.jruby.RubyThread.sleep(RubyThread.java:1002)\n\t- locked <0x00000000f568d888> (a org.jruby.RubyThread)\n\t- locked <0x00000000f568d888> (a org.jruby.RubyThread)\n\tat org.jruby.RubyKernel.sleep(RubyKernel.java:803)\n\tat org.jruby.RubyKernel$INVOKER$s$0$1$sleep.call(RubyKernel$INVOKER$s$0$1$sleep.gen)\n\tat org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:667)\n\tat org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:206)\n\tat org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)\n\tat org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)\n\tat org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)\n\tat org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)\n\tat org.jruby.ast.BlockNode.interpret(BlockNode.java:71)\n\tat org.jruby.ast.RootNode.interpret(RootNode.java:129)\n\tat org.jruby.evaluator.ASTInterpreter.INTERPRET_EVAL(ASTInterpreter.java:95)\n\n...skipping a lot of JRuby AST calls for brevity...\n\npuppetlabs.services.request_handler.request_handler_core$jruby_request_handler$fn__31686.invoke(request_handler_core.clj:273)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_jruby_instance$fn__31597.invoke(jruby_request.clj:48)\n\tat puppetlabs.puppetserver.jruby_request$wrap_with_error_handling$fn__31593.invoke(jruby_request.clj:33)\n\tat puppetlabs.services.request_handler.request_handler_service$reify__31694$service_fnk__5266__auto___positional$reify__31709.handle_request(request_handler_service.clj:47)\n\tat puppetlabs.services.protocols.request_handler$eval27407$fn__27408$G__27399__27411.invoke(request_handler.clj:3)\n\tat puppetlabs.services.protocols.request_handler$eval27407$fn__27408$G__27398__27415.invoke(request_handler.clj:3)\n\tat clojure.core$partial$fn__4759.invoke(core.clj:2515)\n\tat puppetlabs.trapperkeeper.authorization.ring_middleware$eval39879$wrap_authorization_check__39888$fn__39891$fn__39892.invoke(ring_middleware.clj:284)\n\tat puppetlabs.ring_middleware.core$eval21857$wrap_bad_request__21866$fn__21869$fn__21874.invoke(core.clj:168)\n\tat puppetlabs.ring_middleware.core$eval21953$wrap_uncaught_errors__21962$fn__21965$fn__21970.invoke(core.clj:211)\n\tat puppetlabs.ring_middleware.core$eval21584$wrap_request_logging__21589$fn__21590$fn__21592.invoke(core.clj:45)\n\tat puppetlabs.i18n.core$locale_negotiator$fn__124.invoke(core.clj:357)\n\tat puppetlabs.ring_middleware.core$eval21613$wrap_response_logging__21618$fn__21619$fn__21620.invoke(core.clj:51)\n\tat puppetlabs.puppetserver.ringutils$wrap_with_puppet_version_header$fn__17331.invoke(ringutils.clj:83)\n\tat puppetlabs.services.master.master_core$eval38154$v3_ruby_routes__38159$fn__38160$fn__38177.invoke(master_core.clj:738)\n\tat bidi.ring$eval22897$fn__22898.invoke(ring.cljc:25)\n\tat bidi.ring$eval22876$fn__22877$G__22867__22886.invoke(ring.cljc:16)\n\tat puppetlabs.comidi$make_handler$fn__25007.invoke(comidi.clj:245)\n\tat puppetlabs.metrics.http$eval37332$wrap_with_request_metrics__37337$fn__37341$fn__37343$fn__37344$fn__37345.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval37332$wrap_with_request_metrics__37337$fn__37341$fn__37343$fn__37344.invoke(http.clj:152)\n\tat puppetlabs.metrics.http.proxy$java.lang.Object$Callable$7da976d4.call(Unknown Source)\n\tat com.codahale.metrics.Timer.time(Timer.java:101)\n\tat puppetlabs.metrics.http$eval37332$wrap_with_request_metrics__37337$fn__37341$fn__37343.invoke(http.clj:148)\n\tat puppetlabs.comidi$eval25068$wrap_with_route_metadata__25073$fn__25074$fn__25076.invoke(comidi.clj:332)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core$ring_handler$fn__35219.invoke(jetty9_core.clj:433)\n\tat puppetlabs.trapperkeeper.services.webserver.jetty9_core.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)\n\tat clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers$eval34795$normalize_uri_handler__34800$fn__34801$fn__34802.invoke(normalized_uri_helpers.clj:74)\n\tat puppetlabs.trapperkeeper.services.webserver.normalized_uri_helpers.proxy$org.eclipse.jetty.server.handler.HandlerWrapper$ff19274a.handle(Unknown Source)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:170)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:521)\n\tat org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)\n\tat org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)\n\tat org.eclipse.jetty.server.Server.handle(Server.java:564)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)\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:748)\n...\n{noformat}", "epicLinkSummary": "Improved JRuby Debugging UX", "estimate": "PT0S", "externalId": "15105", "fixedVersions": ["SERVER 6.6.0"], "id": "15105", "issueType": "New Feature", "key": "SERVER-2193", "labels": ["resolved-issue-added"], "originalEstimate": "PT0S", "parent": "14734", "parentSummary": "Improved JRuby Debugging UX", "priority": "Major", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "resolution": "Done", "resolutionDate": "2019-09-16T09:56:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Provide an API for returning Ruby-level stacktraces for JRuby instances", "timeSpent": "PT0S", "updated": "2019-09-16T09:56:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Getting this tagged now and promoting the tag to PE.", "created": "2018-04-23T12: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 needed, thanks!", "created": "2018-05-29T11:12:00.000000"}], "components": [], "created": "2018-04-20T12:28: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@7b744a7c"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzlg1j:"}, {"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 {{/puppet/v3/tasks}} endpoint will now reuse cached environments rather than always creating a new one."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "23/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_248822391_*|*_1_*:*_1_*:*_74608_*|*_10007_*:*_1_*:*_7855055_*|*_10009_*:*_1_*:*_82359793_*|*_5_*:*_1_*:*_3902384803_*|*_6_*:*_1_*:*_0"}], "description": "The {{/puppet/v3/tasks}} endpoint passes a symbol for the environment name rather than a string, which is inconsistent with every other use of retrieving an environment. With cached environments, that results in creating a new environment instead of re-using the cached environment (or registering a new environment with the symbolized name that won't be re-used by anything else). We should pass the environment name as a string instead to be consistent.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15764", "fixedVersions": ["SERVER 5.3.3"], "id": "15764", "issueType": "Bug", "key": "SERVER-2192", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:fd17676f-b54f-4df6-b0e2-ce0f8a23c31e", "resolution": "Fixed", "resolutionDate": "2018-04-24T10:40:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tasks endpoint doesn't reuse cached environments", "timeSpent": "PT0S", "updated": "2018-06-08T14:40:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:5ad302a7-67ea-4afc-baad-fa9e700de03a", "body": "{quote}\nheadius commented on 21 Nov 2017\nJRuby 1.7.27 appears to be sufficient as a last release for 1.7. We shall call 1.7 officially EOL now.\n{quote}\nhttps://github.com/jruby/jruby/issues/4112#issuecomment-242504130", "created": "2018-04-17T08:56:00.000000"}, {"author": "557058:aa277a93-6688-4f34-ad9d-e53477acf74b", "body": "Duplicate of SERVER-2095.\n\n  - Open Source Puppet Server will be moving to 9k in the 6.0 release, 1.7 will no longer be available.\n\n  - The upcoming PE 2018.1 release will use Puppet Server 5.3, but with the default changed to 9k, 1.7 will be available as a fall-back in case some compatibility issue pops up.", "created": "2018-04-17T09:03:00.000000"}, {"author": "557058:5ad302a7-67ea-4afc-baad-fa9e700de03a", "body": "Awesomesauce, thanks [~accountid:557058:aa277a93-6688-4f34-ad9d-e53477acf74b]! :D", "created": "2018-04-17T09:07:00.000000"}], "components": [], "created": "2018-04-17T08:55:00.000000", "creator": "557058:5ad302a7-67ea-4afc-baad-fa9e700de03a", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@26f6b5cc"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzlbzr:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "17/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_508972_*|*_6_*:*_1_*:*_0"}], "description": "Right now, there are conflicts with any gems that require Ruby 2.1 features\n\neg. https://github.com/davealden/hiera-vault/issues/5\n\nSince the version of Ruby used within JRuby < 9k is 1.9.1, which is EOL, it would be nice to default to the newer JRUBY_JAR in the config setting", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16532", "fixedVersions": [], "id": "16532", "issueType": "Improvement", "key": "SERVER-2191", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:5ad302a7-67ea-4afc-baad-fa9e700de03a", "resolution": "Duplicate", "resolutionDate": "2018-04-17T09:03:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Change default JRUBY_JAR to 9k", "timeSpent": "PT0S", "updated": "2018-04-17T09:07:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "body": "The above includes jline <= 2.11", "created": "2018-10-16T14:18:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Fixed as part of PDB-4357, in clj-parent. https://github.com/puppetlabs/clj-parent/commit/09ff69fb56b72d5e593832648e27ac2ae3d5f457", "created": "2019-09-25T17:58:00.000000"}], "components": ["security"], "created": "2018-04-13T15:34:00.000000", "creator": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4f1b4558"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzlae7:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1207790128_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_44592869696"}], "description": "The master branch of puppetserver is pulling in bouncycastle through https://github.com/puppetlabs/jvm-ssl-utils. The version of bouncycastle should be updated to at least version 1.59 to address CVE-2017-13098 (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2017-13098)", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16529", "fixedVersions": ["SERVER 6.6.0"], "id": "16529", "issueType": "Bug", "key": "SERVER-2189", "labels": ["security"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:31c596d1-7e27-4c91-bc18-1254edb3caab", "resolution": "Done", "resolutionDate": "2019-09-25T17:58:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Update to bouncycastle at least 1.59 in puppetserver", "timeSpent": "PT0S", "updated": "2019-09-25T17:58:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "It seems JrJackson is calling Jackson methods that coerce non-UTF8 strings into UTF8. Other serializers blow up when attempting to do this, and Puppet requires that functionality to correctly downgrade to PSON when there's binary data in catalogs/facts/reports.\n\nThis requires a change to the packaging of puppetserver.", "created": "2018-04-12T14:42:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] please provide release notes for this issue, if needed. Thanks!", "created": "2018-04-12T15:32:00.000000"}, {"author": "557058:91233464-4152-4228-81dd-172d43a52a03", "body": "Since the fix was ultimately in puppetserver, I think we want to move to SERVER project. Not sure what the new fix version will be (or if we ever released a version of puppetserver with the regression?)", "created": "2018-04-12T18:34:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:63d40628f6e1b543161789a7] good call, moved.", "created": "2018-04-12T18:36:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] how does the fix for this impact PUP-8583 (if at all)?", "created": "2018-04-12T18:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This, and PUP-8583, are issues that have come up when trying to move to using JrJackson.\nWe've never shipped with JrJackson, we've had to revert moving to it just before the last two releases.", "created": "2018-04-12T23:47:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] can this issue be resolved now?", "created": "2018-04-13T15:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Nope. It needs to go through agent CI for validation (it was caught in one of their acceptance tests).\n\nWatching this view: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/puppet-agent/view/Public%20Suites/view/5.5.x/view/Suite/job/platform_puppet-agent_puppet-agent-integration-suite_daily-5.5.x/", "created": "2018-04-13T16:56:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "The 5.5.x pipeline has yet to take this up, however the 5.5.1_release pipeline ran against this and succeeded.", "created": "2018-04-16T14:49:00.000000"}], "components": [], "created": "2018-04-12T10:56: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@1e6766c7"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzl92f:"}, {"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": "12/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_283998594_*|*_1_*:*_1_*:*_5330781_*|*_10007_*:*_1_*:*_62216667_*|*_3_*:*_1_*:*_8073380_*|*_5_*:*_1_*:*_250361044_*|*_6_*:*_1_*:*_0"}], "description": "*Puppet Version:* 5.5.1\n*Puppet Server Version:* 5.3.0\n*OS Name/Version:* MacOS/CentOS 7\n\nDescribe your issue in as much detail as possible\u2026\nDescribe steps to reproduce\u2026\n\nSee [catalog_with_binary_data acceptance test|https://github.com/puppetlabs/puppet/blob/bbf2c0ea10db91cd6fa7f0ec5877afad7191f35e/acceptance/tests/catalog_with_binary_data.rb]\n\n*Desired Behavior:*\nOutput from server should be Gzipped PSON; Latin-1\n\n\n*Actual Behavior:*\nOutput is Gzipped JSON; UTF-8 with replacement characters\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17095", "fixedVersions": ["SERVER 5.3.1"], "id": "17095", "issueType": "Bug", "key": "SERVER-2188", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-04-16T14:49:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Binary files being returned UTF-8 encoded from catalog endpoint", "timeSpent": "PT0S", "updated": "2018-04-19T12:22:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "attachments": [], "comments": [{"author": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "body": "Merged to puppetserver#master at\u00a0https://github.com/puppetlabs/puppetserver/commit/20c01f017fe07023087482a41b6e32c12a4a427b.", "created": "2018-04-13T11:21:00.000000"}, {"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "The passing master here http://builds.puppetlabs.lan/passing-server-SHAs/api/v1/json/ was reported on April 16th, while the PR was merged on Friday April 13th. So I think this passed CI and can be resolved.", "created": "2018-04-17T21:38:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db] please add release notes for this issue if needed, thanks!", "created": "2018-08-28T09:02:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This should be removed from pe-pse too, I believe. https://github.com/puppetlabs/pe-puppet-server-extensions/pull/1107", "created": "2019-10-01T15:53:00.000000"}], "components": [], "created": "2018-04-11T16:06: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@2c42bd14"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzl87b:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "13/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_382645817_*|*_1_*:*_1_*:*_196081_*|*_10007_*:*_1_*:*_155475200_*|*_5_*:*_1_*:*_13362822384_*|*_6_*:*_1_*:*_0"}], "description": "With PA-1925, the puppet-agent package will ship the hiera-eyaml gem in the shared gem directory for Platform 6, which is used by both the agent and puppetserver. Thus, the gem can safely be removed from puppetserver.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "14774", "fixedVersions": ["SERVER 6.0.0"], "id": "14774", "issueType": "Task", "key": "SERVER-2187", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove hiera-eyaml gem", "timeSpent": "PT0S", "updated": "2019-10-01T15:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] is this something you think we should prioritize doing as a maintenance task?", "created": "2019-02-15T09:48:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "It's not much work and it makes changing jruby versions much easier.", "created": "2019-03-26T17:46:00.000000"}], "components": [], "created": "2018-04-09T11:44:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Puppetserver no longer pulls in jruby via jruby-deps"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2a1a896a"}, {"fieldName": "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": "SERVER-2122"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rw:o"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "26/Mar/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_18510028669_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_104956206634"}], "description": "We initially started using [jruby-deps|https://github.com/puppetlabs/jruby-deps] to facilitate switching between JRuby versions in puppetserver. Since we are now just packing 9k directly, we shouldn't have to go through jruby-deps anymore.\n\nBefore removing this, we should look for other projects that use it and make sure they're not expecting puppetserver to pull it in.", "epicLinkSummary": "General Improvements", "estimate": "PT0S", "externalId": "16527", "fixedVersions": [], "id": "16527", "issueType": "Task", "key": "SERVER-2185", "labels": [], "originalEstimate": "PT0S", "parent": "15096", "parentSummary": "General Improvements", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2022-03-08T10:54:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Stop using jruby-deps to pull in JRuby jar", "timeSpent": "PT0S", "updated": "2022-03-08T10:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-04-09T08:01:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@2302bbea"}, {"fieldName": "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-8642"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzl58n:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2278_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_378312656"}], "description": "(Initial planned release date: 2018-04-17)\n\n* Update version number in source to point to next snapshot.\n* Merge tag and version number twizzling up (from release branch to z series dev branch to master, as applicable).\n* Delete release branch if created.\n* Remove Jenkins pipelines for release branch if created.\n* Update Winston and any relevant Confluence pages with any changes needed in the release process.\n", "duedate": "2018-04-18T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "estimate": "PT0S", "externalId": "15917", "fixedVersions": [], "id": "15917", "issueType": "Task", "key": "SERVER-2184", "labels": [], "originalEstimate": "PT0S", "parent": "22024", "parentSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-04-13T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Destroy release branches, pipelines, and update winston (Puppet Server 5.3.1)", "timeSpent": "PT0S", "updated": "2018-04-13T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] has this been done?", "created": "2018-04-16T15:47:00.000000"}, {"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "yes", "created": "2018-04-16T15:51:00.000000"}], "components": [], "created": "2018-04-09T08:01:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1a910883"}, {"fieldName": "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-8642"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzl58f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "16/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2298_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_633011220"}], "description": "(Initial planned release date: 2018-04-17)\n\n* Ensure the candidate SHA has passed all applicable testing\n  * The candidate SHA that the release branch was branched from should pass CI,\n     be promoted into PE if applicable, and if so, pass PE's CI. If there are\n     failures resolve them or escalate to someone who can.\n* Bump and Tag the candidate SHA once passing\n  * This is automated for internal (PE) releases, and may be automated soon for\n   open source. Locally from a checkout of the release branch update the version\n   number in the project.clj (non-SNAPSHOT version). Commit this change and\n   create a signed tag with the version number project.clj was just bumped to.\n* Ensure tagged release version is built, tested and artifacts exist at\n  builds.delivery.puppetlabs.net\n  * This may entail manually promoting into PE again.\n", "duedate": "2018-04-13T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "estimate": "PT0S", "externalId": "15763", "fixedVersions": [], "id": "15763", "issueType": "Task", "key": "SERVER-2183", "labels": [], "originalEstimate": "PT0S", "parent": "22024", "parentSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-04-16T15:51:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Tag and build artifacts (Puppet Server 5.3.1)", "timeSpent": "PT0S", "updated": "2018-04-16T15:55:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] this ticket should be ready to go as well...", "created": "2018-04-12T08:15:00.000000"}], "components": [], "created": "2018-04-09T08:01:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@613cba38"}, {"fieldName": "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-8642"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzl587:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2430_*|*_3_*:*_1_*:*_682998_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_377627610"}], "description": "(Initial planned release date: 2018-04-17)\n\n* Merge up and/or down as required.\n  * Outstanding changes from z branches should be be merged up to master.\n     Outstanding changes from \"older\" branches should be merged up through\n     the branch to be released (2.x -> 5.1.x if applicable). Any changes\n     that have been resolved in \"newer\" branches but need to be pulled down\n     to the release branch should be cherry-picked (eg backports to an LTS\n     branch).\n* Create release branch as needed.\n  * If there is continuing work landing on the version series branch\n     (5.1.x) while the release prep will be happening then create a\n     release branch (5.1.3-release) so a branch may sit at a good known\n     version (candidate SHA) while all of the remaining validation can be\n     performed (eg promoted into PE and manually tested).\n* Create Jenkins pipeline for release branch/update promotions as needed\n  * Update ci-job-configs so that the branch to be released off of has a\n     Jenkins pipeline and is being promoted into applicable PE streams. This\n     work may not be applicable if no release branch was created, the release\n     will not go into a PE stream, or this work has already been done as part\n     of normal maintenance.\n* Promote release candidate if needed.\n  * Older branches may not have the ability to automatically promote into PE\n     (2.x). If releasing off of one of these branches, create a VOOM build\n     and manually promote it into PE.\n", "duedate": "2018-04-12T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "estimate": "PT0S", "externalId": "15503", "fixedVersions": [], "id": "15503", "issueType": "Task", "key": "SERVER-2182", "labels": [], "originalEstimate": "PT0S", "parent": "22024", "parentSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-04-13T17:06:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Merge-up, branch, and create pipelines (Puppet Server 5.3.1)", "timeSpent": "PT0S", "updated": "2018-04-13T17:06:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [{"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] this ticket should be actionable now - the goal is to have our release candidate builds ready by end of week.", "created": "2018-04-12T08:10:00.000000"}], "components": [], "created": "2018-04-09T08:01:00.000000", "creator": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@1f932eac"}, {"fieldName": "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-8642"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzl57z:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2120_*|*_5_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_377619694"}], "description": "(Initial planned release date: 2018-04-17)\n\n* Use the ticketmatch script at https://github.com/puppetlabs/ticketmatch\n    to reconcile JIRA ticket states with commit messages since the last release.\n    Follow up with any reported problematic areas:\n  * Issues in git but not resolved in JIRA should be confirmed to be WIP and\n     not targeted for the current release.\n  * Issues in JIRA but not in git need to be retargeted for the appropriate\n     release and stakeholders should be notified.\n* Check project.clj and clj-parent for any library updates since the last\n    release (e.g. {{git diff 2.3.2 \u2013 project.clj}})\n* Once the scope of the release as been confirmed and the correct SemVer\n    version known ensure the Versions and Dependencies page in Confluence\n    is up to date https://confluence.puppetlabs.com/display/PM/Platform+Versions+and+Dependencies\n", "duedate": "2018-04-10T00:00:00.000000", "epicLinkSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "estimate": "PT0S", "externalId": "15104", "fixedVersions": [], "id": "15104", "issueType": "Task", "key": "SERVER-2181", "labels": [], "originalEstimate": "PT0S", "parent": "22024", "parentSummary": "Puppet Platform 5.5.1 Release - 2018-04-17\n", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "resolution": "Fixed", "resolutionDate": "2018-04-13T16:54:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reconcile git commits, JIRA tickets, and versions (Puppet Server 5.3.1)", "timeSpent": "PT0S", "updated": "2018-04-13T16:54:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This should add code to the CA setup CLI tool that was created in SERVER-2172.", "created": "2018-04-27T15:00:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] this is the work I mentioned on your PE install doc about the intermediate CA setup. Please work with [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] to make sure we've contemplated implications on PE install/first-run.", "created": "2018-06-14T17:19:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I know almost nothing about how the PE installer works, but it seems like it might be possible for us to exercise a puppetserver subcommand within it implicitly after puppetserver has been installed as part of the package. That subcommand would create a self-signed root, use it to sign an intermediate Puppet CA signing cert, and then we'd proceed as we do now. We were definitely not intending to make the user do anything extra by default. We are just hoping to take the CA initialization out of the puppetserver startup, and do it as part of the install (or post-install for FOSS) instead. We could consider adding customization options to the install process later, e.g. for users that want to use their own root for the intermediate CA. But that is outside the scope of this ticket.\n\nDoes that seem feasible?", "created": "2018-06-26T15:58:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:557058:6fc1f430-f771-4686-a97e-21c5e35f9100] do you know of any scenario where a user would spin up a new version 6 Puppet Server and want to run 5.x agents against it? I'm worried because 5.x agents do not properly support an intermediate CA, but with this change, the CA created by Puppet Server will always be an intermediate CA. Do we need to support being able to generate a self-signed CA as an alternative, or is this scenario not likely/common?", "created": "2018-08-28T11:29:00.000000"}, {"author": "557058:6fc1f430-f771-4686-a97e-21c5e35f9100", "body": "[~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] I would say the normal operating procedure would be to update your PE infrastructure and update your agents \"later.\"  Later could be next week, next month, next quarter, or next year.  I think it is very common not to update your agents for months after you update your PE infrastructure.  \n\nI would recommend that for upgrades we ensure 5.x agents can still connect.  For new installs there's less concern but we should document it in the PE upgrade notes.  ", "created": "2018-08-28T11:46:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I assume when most people upgrade they keep their old CA. If that is the case, 5.x agents will continue to be able to connect just fine.", "created": "2018-08-28T11:52:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We have decided to leave the bootstrapping code in, to give users the option of using a non-intermediate CA. In PE, the installer will generate an intermediate CA using the CLI tool by default.", "created": "2018-09-10T10:53:00.000000"}], "components": [], "created": "2018-04-06T12:57:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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 Server uses an intermediate CA model all the time\n* The CA setup CLI tool creates a root cert and an intermediate CA cert when asked to generate a PKI"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@33c32ea7"}, {"fieldName": "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": "SERVER-2171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl21r:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "27/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_4221035175_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_7665542285_*|*_10005_*:*_1_*:*_1670788226"}], "description": "When I am setting up my Puppet Server, I only want one certificate model to think about: a root CA (either my corporate root or autogenerated by Puppet) and an intermediate CA signed by that root that issues agent certs.\n\nCurrently, when Puppetserver starts for the first time, it generates a self-signed CA signing cert for itself, then uses that to create a certificate for the master. With the new CLI tool, we want to take this stuff out of server start-up and instead require users to run the tool prior to starting their server (if that gets annoying we could probably think about having the start-up run the logic from this tool implicitly). If no special arguments are provided to the tool, it will generate a self-signed root CA, then use that to create a signing cert for Puppet to use to sign all node certs. It will then create the cert for the Puppet master using this intermediate signing cert.", "epicLinkSummary": "Robust Intermediate CA", "estimate": "PT0S", "externalId": "15103", "fixedVersions": [], "id": "15103", "issueType": "Story", "key": "SERVER-2176", "labels": [], "originalEstimate": "PT0S", "parent": "15102", "parentSummary": "Robust Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2018-09-10T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "The CA that signs agent requests should be an intermediate CA by default", "timeSpent": "PT0S", "updated": "2018-09-10T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-04-06T12:53:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* puppetserver no longer generates a CA on startup"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@4cb0aad9"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzodfr:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_5194105185_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_7665558134_*|*_10005_*:*_1_*:*_697946554"}], "description": "As part of the improvements around intermediate CA support, we want to make CA initialization more explicit. Once we have subcommands for the new CA CLI tool for generating a CA (see SERVER-2176), and a step in the PE installer to run that tool as part of installation (see PE-24739), we need to remove the CA bootstrapping code from puppetserver. Note that this refers only to the code that automatically generates CA files when starting the server for the first time, not the code to sign and set up the master host cert.\n\n", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17384", "fixedVersions": [], "id": "17384", "issueType": "Sub-task", "key": "SERVER-2175", "labels": [], "originalEstimate": "PT0S", "parent": "15103", "parentSummary": "The CA that signs agent requests should be an intermediate CA by default", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Won't Do", "resolutionDate": "2018-09-10T10:53:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove CA bootstrapping code from puppetserver", "timeSpent": "PT0S", "updated": "2018-09-10T10:53:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "The current set of manual steps that enable this workflow are documented here:\n\n\u00a0\n\n[https://puppet.com/docs/puppetserver/5.3/intermediate_ca_configuration.html]\n\noutdated:\u00a0[-https://puppet.com/docs/puppet/5.3/config_ssl_external_ca.html#option-2-puppet-server-functioning-as-an-intermediate-ca-|#option-2-puppet-server-functioning-as-an-intermediate-ca-]", "created": "2018-04-06T12:33:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "Related Server docs: https://puppet.com/docs/puppetserver/5.3/intermediate_ca_configuration.html\n\nRelated PE docs:\nhttps://puppet.com/docs/pe/2017.3/ssl_and_certificates/use_a_custom_ssl_cert_for_the_console.html\nhttps://puppet.com/docs/pe/2017.3/ssl_and_certificates/using_an_external_certificate_authority_with_pe.html", "created": "2018-04-06T12:35:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This should look to Bolt for current best practices in making a standalone Ruby CLI tool.", "created": "2018-04-26T17:46:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "My current thinking is that we'll have a subcommand of puppetserver, ie\n{code}/opt/puppetlabs/bin/puppetserver ca --help\n{code}\nCurrently, puppetserver subcommands live in the puppetserver repo under {{/resources/ext/cli/<command-name>.erb}} (except for service related commands which live in ezbake). The file itself is obviously an erb template and existing commands are shell scripts that interpolate in them OS-specific paths at build time.\n\nMy assumption would be that our puppetserver subcommand would be itself a ruby script with a shebang line configured to include the puppet-agent ruby install at build time. And that this subcommand's features to live within a gem (in a separte repo named {{puppetserver-<command-name>}} that is pulled in with the puppetserver's packaging (via a similar means as the current gem-list.txt gems) but deposited in the agent's vendor gem path.\n\nThe features for this ticket as I understand them would be like:\n{code}/opt/puppetlabs/bin/puppetserver ca --help\nManage the Private Key Infrastructure for Puppet Server's built-in Certificate Authority\n\nUsage: puppetserver ca <action> [options]\n\nAvailable subcommands:\n    puppetserver ca setup         Setup the CA with a private key, cert bundle, and crl chain\n\n\nGeneral Options:\n    -h, --help                Print this help message\n    -v, --version            Print the version of \n    --format FORMAT   Output format to display: human (default) or json\n    --config CONF        Path to the puppet.conf file to read\n    --verbose                Display verbose logging\n\nActions:\n    setup:\n        --private-key KEY    Path to a PEM encoded RSA private key\n        --crl-chain CRL        Path to a file containing one or more PEM encoded X.509 CRLs\n        --cert-bundle CERT Path to a file containing one or more PEM encoded X.509 Certificates.\n                                        The certificate to be used by this CA should be the first, followed by the\n                                        issuing CA's certificate. Additional issuers may follow with the root CA being last.\n\n{code}\nI assume the behavior should be:\n # Read the config file(s) to determine the locations of cadir and friends\n # Read the files passed in from the command line and validate accordingly\n # Write the files, to their proper locations in the cadir\n\nI assume that validation and error handling should be:\n # If either {{--private-key-}} or {{-cert-bundle}} is excluded that we error.\n # If {{--crl-chain}} is excluded we warn that full chain CRL checking will not be possible and generate a CRL for them based on the cert provided.\n # That all of the certs in the bundle are valid authorities\n # That the first cert in the cert bundle matches the private key given.\n # That any additional certs in the bundle are issuers of previous certs in the bundle\n # That all of the crls, if provided, match the certs in the bundle\n # That none of the certs in the bundle have been revoked when checking provided CRLs\n\nErrors and warning should match the [nogui best practices|https://github.com/puppetlabs/puppet-nogui/blob/master/patterns/command_taxonomy.md]\n\nOut of scope for this is recovering from errors, colorized output, updating existing setups, or generating anything besides the CRL.\n\nCode-wise, I'm thinking:\n * Use namespaced exceptions similarly to {{Puppet::Error}} and {{Bolt::Error}}\n * Use stdlib's option parser\n * I don't think we'll need to pull in a third party logger at this point (though if we do we should use the one Bolt uses: \"logging\").\n * I don't think we'll need to load Puppet to parse the puppet.conf. The defaults are well known and we aren't interested in any special abilities of Puppet's config parser, only the simplest parts of ini.\u2020\n * Verification should use OpenSSL but only features that are the same across MRI and JRuby.\n * File writing should be behind an abstraction whose behavior we can change if we move away from directly modifying files on disk.\n\n\u00a0\n\nTesting-wise, we should have RSpec for unit tests and some higher level integration tests if practical. Rubocop for linting, and everything should be runnable in travis via rake tasks. There should be an acceptance test written for the happy path in the puppet server repo and following its conventions that:\n # Ensures the master is stopped\n # Backs up the ssldir on the master and agents, cleaning the default location\n # Runs this tool to setup an intermediate CA on the master\n # Starts the master\n # Checks one or more agents into the master and verifies that they work and retrieve the appropriate PKI files.\n # Stops the master, replaces the ssldir on all the hosts, starts the master, and ensures they all work as they did prior to the test.\n\n\u2020 I assume later, if we remove the Ruby CA, that any special ca configuration that we need to consult would actually be configured via Puppet Server's conf.d and hocon (which I think we already ship in puppet-agent?).", "created": "2018-05-25T17:19:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've started creating a stub implementation at [https://github.com/puppetlabs/puppetserver-ca-cli]\u00a0and am looking into getting that integrated and writing a basic acceptance tests against that before adding additional functionality. See\u00a0RE-10919 for the request to release that as a gem.", "created": "2018-05-30T12:21:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": " In what circumstance do we expect this tool to need to run on JRuby? Does OpenSSL work enough on JRuby for the validation you describe? I seem to remember [~accountid:557058:40232c77-9d9b-410c-9f53-90adbf41eeb9] having issues with things as simple as creating cert objects.", "created": "2018-06-04T09:54:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't know if it does, but I thought it'd be nice to include some effort of trying to get it to work as part of this.\n\nI don't foresee us using it in JRuby so maybe it's YAGNI, but considering the trouble we've had moving between the two implementations, I figured it would be good to have JRuby as part of the spec testing matrix from the start.", "created": "2018-06-04T10:41:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've gotten the library opensourced, figured out how to build it into packages that drop the gem into the puppet gem dir, pulled over the external CA acceptance tests from Puppet proper so we can have CA acceptance testing in one place and have written a first draft of the acceptance test.\n\nMy initial fixtures included set certnames and would have relied on making the vms honor that vs dynamically creating the ssl fixtures. I think that dynamically creating the fixtures is more robust so I'm currently in the middle of moving to that approach.", "created": "2018-06-07T17:24:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I ended up spending most of the week doing PR review and am currently working on fixing CI. See SERVER-2234 for that work.", "created": "2018-06-14T17:22:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I've pushed a WIP PR up (see sidebar). I'll be working on cleaning it up, though it should be functional if anyone wants to put comments in there.", "created": "2018-06-28T16:26:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This is review and I'm responding to feedback, there's a couple bugs and clarifications, the summary of them so far are:\n\nGoing over this the changes, in summary are:\n* Improve help messages:\n** use verbs in the actual help line\n** add information about required/optional flags\n** include list of subcommands in general help output\n* x509 loading:\n** add comments explaining store checking to {{validate_full_chain}}\n** expose store errors in the error output\n** fix bug in store check logic (check for emptiness, rather than existence)\n* config parser:\n** remove {{unless}} usage in favor of {{if}}\n** comment usage of {{String#sub()}}\n** fold setting interpolation failure warning into same loop as interpolation\n** rescue both {{ArgumentError}} & {{PKeyError}} for forwards compatibility\n** fix windows check ({{!Gem.win_platform?}})\n* SetupCommand:\n** handle unrecognized flags gracefully\n** explain more about full chain checking on the agent when not providing a CRL\n* Misc:\n** check exit status more regularly in tests\n** add error message when invalid subcommand\n\nThe validations acceptance criteria also specifies the exact format and contents of the cert bundle/crl chain, however the implementation uses the SSL store to verify the leaf cert at a higher level. This method of validation ensures that contents contain at a minimum the chain of trust needed for the CA, however it doesn't ensure there aren't additional certs or crls, or the total ordering (outside of the leaf cert being first). It would be nice to find out if product finds this validation sufficient.\n\nAdditionally, the {{\\--verbose}} and {{\\--format}} flags have not been implemented, though they are used in the above description.\n\nI'm currently rebasing and fixing the actual bugs, I'm happy to break out any of the above into different tickets/sub-tasks as well.", "created": "2018-07-09T16:15:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "We created\u00a0SERVER-2252 and\u00a0SERVER-2251 for the format and verbose flags respectively. This has been merged into the gem. We are currently working on releasing the gem and promoting it through puppetserver and PE.", "created": "2018-07-19T10:08:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This has been integrated into FOSS and is being promoted up into PE. This caused an issue (that is not a regression so much as an incompatibility with the test setup) that is fixed in this PR\u00a0https://github.com/puppetlabs/puppetserver/pull/1733", "created": "2018-07-23T14:33:00.000000"}], "components": [], "created": "2018-04-06T12:32:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "* Simple CLI to put CA artifacts into place\n* Acceptance-level test verifying that an agent can successfully request a cert from a CA set up with this tool"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@56224606"}, {"fieldName": "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": "SERVER-2171"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1e7:"}, {"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": "There is now a CLI tool for setting up the CA."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "06/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_1126624867_*|*_1_*:*_1_*:*_2350344063_*|*_10007_*:*_1_*:*_860898253_*|*_3_*:*_2_*:*_3883526441_*|*_5_*:*_1_*:*_1807469861_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_1900457389"}], "description": "Given the root CA's cert, a signing cert, and the associated private key, I want a simple CLI tool to put these into place so that I have a working Puppet CA.\n\nThis should respect puppetserver's settings for certificate placement. We are still hoping to eventually separate the CA and agent SSL dirs (see PUP-3262), so however we implement this should be able to work with that change easily.", "epicLinkSummary": "Robust Intermediate CA", "estimate": "PT0S", "externalId": "15762", "fixedVersions": ["SERVER 5.3.5", "SERVER 6.0.0"], "id": "15762", "issueType": "Story", "key": "SERVER-2172", "labels": ["docs_reviewed"], "originalEstimate": "PT0S", "parent": "15102", "parentSummary": "Robust Intermediate CA", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-08-22T14:14:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Simple CLI tool for setting up an intermediate CA", "timeSpent": "PT0S", "updated": "2018-08-22T14:14:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-04-06T12:24:00.000000", "creator": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@50c9f601"}, {"fieldName": "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": "Robust Intermediate CA"}, {"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": "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|hynbf3:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_2351368154_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_11823103366"}], "description": "When I have security requirements dictated by my organization, I need to take a CA cert that was signed by my corporate root and use that to sign all my agent certs.\n\nTwo areas of work:\n- CA setup\n- First agent request\n\nOut of scope:\n- Workflow for getting the signed CA cert. This varies so widely from org to org that it's not meaningful to design a workflow for this.\n\nStretch goals:\n- Workflow for putting the CA's cert in the right place (maybe a simple CLI)", "duedate": "2018-05-16T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15102", "fixedVersions": ["SERVER 6.0.0"], "id": "15102", "issueType": "Epic", "key": "SERVER-2171", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-09-17T13:45:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Robust Intermediate CA", "timeSpent": "PT0S", "updated": "2019-07-16T17:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Puppetserver does need to access those gems while running, but it doesn't need to write to that folder. Any gems installed by the {{puppetserver gem}} command go somewhere else. Not sure what other implications changing these permissions might have. We can try changing this to root:root and see what happens.", "created": "2018-04-12T17:18:00.000000"}, {"author": "623c100c4a57610068e74585", "body": "That sounds like a good idea. The fewer permissions the puppet user has, the better.", "created": "2018-04-13T02:49:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "[~accountid:5fd3e4989edf2800758fda74] do _you_ have thoughts on this?", "created": "2021-03-31T11:19:00.000000"}], "components": [], "created": "2018-04-05T11:10:00.000000", "creator": "623c100c4a57610068e74585", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@fee970e"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"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|hzl3x3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_94279993064_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_25994233834"}], "description": "All the files in /opt/puppetlabs/server/data/puppetserver/vendored-jruby-gems are owned by puppet:puppet. I'd expect vendored-jruby-gems to be owned by root:root so the server process can't replace any vendored gems. At best this can lead to an unsupported situation where the server has unexpected behavior. At worst it's a security risk.\n\nSimilarly /etc/puppetlabs/puppetserver is also owned by puppet:puppet which I'd expect to be root:puppet (mode 0750 is correct).", "environment": "I checked this against puppetserver-5.3.0-1.el7 but I think I saw the same thing in PC1.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "17094", "fixedVersions": [], "id": "17094", "issueType": "Bug", "key": "SERVER-2186", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "623c100c4a57610068e74585", "resolution": "Won't Fix", "resolutionDate": "2022-01-26T11:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Vendored gems are owned by puppet:puppet", "timeSpent": "PT0S", "updated": "2022-01-26T11:41:00.000000", "votes": "2", "watchers": []}, {"affectedVersions": [], "assignee": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "attachments": [], "comments": [{"author": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "body": "We're already nearly there. I just did a test with jruby 9.2, which works, and just have a few errors about the way we're testing classpath additions in puppetserver.", "created": "2018-06-14T16:26:00.000000"}, {"author": "557058:613151bd-b161-4bc3-9e32-335fdcef4d89", "body": "PR has the project working in Java 8, 9, and 10. I've made SERVER-2239 to track the remaining work to prepare for Java 11.", "created": "2018-06-22T11:32:00.000000"}], "components": [], "created": "2018-04-02T17:59:00.000000", "creator": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "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": "Tickets have been filed with the work needed to support Java 10 in Puppetserver (link to RE-10429)"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7085abc8"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl24n:"}, {"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": "14/Jun/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_6304267209_*|*_3_*:*_1_*:*_1650769243_*|*_5_*:*_1_*:*_6211112241_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_505922898"}], "description": "We need to inventory what is broken in Puppetserver when running with Java 10, and file tickets around what fixes are needed.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15101", "fixedVersions": ["SERVER 6.0.0"], "id": "15101", "issueType": "New Feature", "key": "SERVER-2169", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:ab1874a9-45ab-4efc-91aa-5200c165b2c4", "resolution": "Fixed", "resolutionDate": "2018-07-09T16:15:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Support Puppet Server under Java 10", "timeSpent": "PT0S", "updated": "2018-09-19T13:33:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Hey [~accountid:5a15cc24b87a44359db09635], we were wondering if the Community team was interested in this? It will entail working the community on pure ruby work to implement best practices that are necessary for running in a server context. If not, we'll prioritize it.", "created": "2018-03-29T17:16:00.000000"}, {"author": "5a15cc24b87a44359db09635", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89], Yup, we'll add it to our list of things to do.", "created": "2018-04-02T15:29:00.000000"}, {"author": "557058:be86c7d6-2807-42d3-9715-80da0cf607cd", "body": "Any chances on having this fixed? What is the preferred workaround, disable JRuby 9k or reduce heap size to less then 2G?\n", "created": "2018-07-21T17:04:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "I don't know of an adequate solution shy of monkey patching hiera-eyaml-gpg to use Puppet::Util::Execution.execute, [~accountid:557058:be86c7d6-2807-42d3-9715-80da0cf607cd].\n\nWhere does this fall on your todo list, [~accountid:5a15cc24b87a44359db09635] ?\n\n\u00a0\n\n/cc [~accountid:557058:c241032a-c552-4408-9a96-dcd5a643ff69] I think, someone, if not Coremunity than Server, needs to see this done before 6 goes out.", "created": "2018-07-23T10:42:00.000000"}, {"author": "557058:c1aa8056-6473-479b-bb79-3ce6e45bce2f", "body": "I noticed an additional problem that will probably make using Puppet::Util::Execution.execute with hiera-eyaml-gpg and a vendored/monkey-patched version of ruby_gpg difficult: Puppet::Util::Execution.execute doesn't support passing a string as STDIN: https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/execution.rb#L124-L125\n\nBut ruby_gpg expects that the string to decrypt is passed as STDIN (so it can be passed to the {{gpg}} binary command line), see  https://github.com/blaix/ruby_gpg/blob/master/lib/ruby_gpg.rb#L53 and \nhttps://github.com/blaix/ruby_gpg/blob/master/lib/ruby_gpg.rb#L80\n\nSo it seems that in order to be able to use Puppet::Util::Execution.execute from ruby_gpg it needs to support passing a string for STDIN, no?", "created": "2018-07-23T11:01:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "{{ruby_gpg}}'s {{run_command}} needs to be patched to use Puppet's execute (or {{hiera-eyaml-gpg}} needs to not use {{ruby_gpg}} at all). {{hiera-eyaml-gpg}} also needs updating not to call {{system}} as it does twice in {{passfunc}}.", "created": "2018-07-23T11:39:00.000000"}, {"author": "557058:c1aa8056-6473-479b-bb79-3ce6e45bce2f", "body": "Puppet 6.0 has been released and JRuby 9k is no longer optional. I expect that this will make more people run into the problems I described in https://puppet.atlassian.net/browse/SERVER-2021 if they use {{hiera-eyaml}} and {{hiera-eyaml-gpg}}.\n\nUnfortunately upgrading to Puppet 6.0 will be impossible for us until there is a way to run {{hiera-eyaml-gpg}} without the JVM running into errors like {{Cannot allocate memory - gpg}} when decrypting data (as discussed in https://puppet.atlassian.net/browse/SERVER-2021). This requires Puppet::Util::Execution.execute to support passing a string as STDIN, as mentioned above, before {{ruby_gpg}} can be vendored and patched to use Puppet's execute.\n\nOr is there a more \"modern\" alternative to {{hiera-eyaml}} and {{hiera-eyaml-gpg}} that is immune to these problems?", "created": "2018-09-20T07:24:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "[~accountid:557058:c1aa8056-6473-479b-bb79-3ce6e45bce2f] there is a more modern alternative, the hiera-eyaml backend for hiera 5 :\n\nhttps://puppet.com/docs/puppet/5.2/hiera_config_yaml_5.html#configuring-a-hierarchy-level-hiera-eyaml\n\nI believe this will prevent the execution path that is causing problems", "created": "2018-09-24T15:14:00.000000"}, {"author": "61ba0348acc926006a06fc59", "body": "This affects our workflow too.the reason we decided for the GPG implementation of hiera-eyaml ist the fact we are able to give a keypair to each user, making him unique which seems impossible with the PKCS7 implementation (correct me if I am wrong). Given this, on and offboarding colleagues is so much easier. I was very happy the annoucement came out, eyaml will be shipped with the server directly. I would be happy if this would also happen to the gpg implementation, so the user simply has a choice what to use.", "created": "2018-10-10T05:05:00.000000"}, {"author": "70121:13909895-6fc9-487a-a07d-c6b1891fc66f", "body": "I had my own fix, but looks like [https://github.com/sihil/hiera-eyaml-gpg/pull/48]\u00a0is an even better one, so withdrawing my comment :)", "created": "2019-04-01T03:13:00.000000"}, {"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Looks like this was done. Please reopen if I've misunderstood.", "created": "2022-02-22T15:37:00.000000"}], "components": [], "created": "2018-03-29T15:46: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@471ecffc"}, {"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": "Epic Link", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-link", "value": "SERVER-2151"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzkzr3:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "02/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_47151478969_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76057975640"}], "description": "Hiera-eyaml is the current way that most folks secure their secrets between master and agent. Some integrations, most notably gpg, require shelling out to external CLIs to do their work. When code running in Puppet does that it should be using Puppet::Util::Execution.execute. This has been considered a nice-to-have for a long time, but with folks scaling Java based Puppet Servers to larger and larger sizes using the execution helper becomes more and more critical (since spawning processes from a large JVM is problematic on most linuxes).\n\n\u00a0\n\nThe Server team should work with the community to utilize Puppet::Util::Execution.execute in hiera-eyaml in the long term and hiera-eyaml-gpg specifically in the short term.", "epicLinkSummary": "JRuby in the Wild", "estimate": "PT0S", "externalId": "17093", "fixedVersions": [], "id": "17093", "issueType": "Improvement", "key": "SERVER-2167", "labels": [], "originalEstimate": "PT0S", "parent": "15501", "parentSummary": "JRuby in the Wild", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2022-02-22T15:36:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Work with community to use Puppet::Util::Execution.execute in hiera-eyaml[-gpg]", "timeSpent": "PT0S", "updated": "2022-02-22T15:37:00.000000", "votes": "1", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Set \"DOCS\" to not needed... Since this is a documentation ticket.", "created": "2018-03-29T23:11:00.000000"}], "components": ["DOCS"], "created": "2018-03-29T11:45: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@4afa8e6f"}, {"fieldName": "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": "SERVER-2151"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzkz6f:"}, {"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_*:*_10998_*|*_1_*:*_1_*:*_624816_*|*_10007_*:*_1_*:*_83313820_*|*_3_*:*_1_*:*_1465793_*|*_5_*:*_1_*:*_0"}], "description": "Any executing of external commands by users in extensions should be done using Puppet::Util::Execution.execute and not Ruby's built in methods, because the built in methods will eventually call either fork&exec or some flavor of *spawn.\n\nOn all currently supported linuxes posix_spawn is also implemented via fork&exec. Forking a JVM process with a large amount of heap can easily cause out of memory errors.", "epicLinkSummary": "JRuby in the Wild", "estimate": "PT0S", "externalId": "15100", "fixedVersions": ["None"], "id": "15100", "issueType": "Task", "key": "SERVER-2166", "labels": [], "originalEstimate": "PT0S", "parent": "15501", "parentSummary": "JRuby in the Wild", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-03-30T11:28:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document the need for using Puppet::Util::Execution in JRuby extensions", "timeSpent": "PT0S", "updated": "2022-01-18T07:49:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Just a nitpick [~accountid:557058:f23b0b7f-9386-48b3-bd71-4399766356f4], we want a JRuby to live for *at least* a few hours. Ideally a JRuby instance will live as long as possible, though there concerns eventually there would be some memory pressure in highly dynamic environments.", "created": "2018-03-28T08:40:00.000000"}, {"author": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "body": "Bah, I misread that then [~accountid:557058:104b5720-714d-4539-b455-df472251ec89].\u00a0 In any case, I think this would be helpful to track in deployments where there are many short-lived environments that we want to flush from memory periodically.\u00a0\u00a0", "created": "2018-03-28T10:26:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "Thank you for filing this issue. We agree it is likely an improvement, but due to other issues demanding precedence, we don\u2019t anticipate being able to address this any time soon. If you are interested in submitting a patch to the repository for this project at https://github.com/puppetlabs, please open a pull request and re-open this ticket. Pending that, we are closing this as \u201cWon\u2019t Fix.\u201d", "created": "2022-02-22T11:47:00.000000"}], "components": [], "created": "2018-03-27T18:06: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@2fb531d2"}, {"fieldName": "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": "SERVER-2151"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|o0e4rw:c"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "28/Mar/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_47260678948_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_76099388839"}], "description": "It would be great if there was a metric that tracked the average lifetime of a JRuby.\u00a0 The documentation says that we want JRubies to have a lifetime of 2+ hours, but there's currently not an easy way to compute the lifetime without looking at timestamps in puppetserver's logs.\n\n[https://puppet.com/docs/pe/2017.3/configuring/config_puppetserver.html#ariaid-title4]", "epicLinkSummary": "JRuby in the Wild", "estimate": "PT0S", "externalId": "15099", "fixedVersions": [], "id": "15099", "issueType": "Improvement", "key": "SERVER-2165", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": "15501", "parentSummary": "JRuby in the Wild", "priority": "Low (migrated)", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:f23b0b7f-9386-48b3-bd71-4399766356f4", "resolution": "Won't Do", "resolutionDate": "2022-02-22T11:47:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add a \"average-jruby-lifetime\" metric", "timeSpent": "PT0S", "updated": "2022-02-22T11:47:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "We haven't seen this in a long time.", "created": "2019-09-30T11:18:00.000000"}], "components": [], "created": "2018-03-26T16:31:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@7249121f"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl32f:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Sep/19"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_262910799_*|*_5_*:*_1_*:*_0_*|*_10004_*:*_1_*:*_47497538003"}], "description": "Puppetserver tests in travis are intermittently failing with errors like:\n\n{code}\n2018-03-21 22:18:57,592 WARN  [clojure-agent-send-pool-0] [puppetserver] Facter Could not retrieve fact='hostname', resolution='<anonymous>': Failed while executing '/bin/hostname': Cannot allocate memory - /bin/hostname\n/home/travis/build/puppetlabs/puppetserver/ruby/facter/lib/facter/core/execution/base.rb:56:in `block in execute'\n/home/travis/build/puppetlabs/puppetserver/ruby/facter/lib/facter/core/execution/base.rb:14:in `with_env'\n/home/travis/build/puppetlabs/puppetserver/ruby/facter/lib/facter/core/execution/base.rb:36:in `execute'\n{code}\n\nThis seems to be due to the way Facter 2.x executes external programs. Since we ship with Facter 3, where this is believed to be fixed, we should just test with it.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15502", "fixedVersions": [], "id": "15502", "issueType": "CI Blocker", "key": "SERVER-2164", "labels": ["transient"], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Cannot Reproduce", "resolutionDate": "2019-09-30T11:18:00.000000", "status": "Resolved", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "\"Cannot allocate memory\" in travis", "timeSpent": "PT0S", "updated": "2019-09-30T11:18:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c3f688dc-c97c-4198-862f-154955399e81", "attachments": [], "comments": [{"author": "557058:c3f688dc-c97c-4198-862f-154955399e81", "body": "Similar to https://puppet.atlassian.net/browse/SERVER-1306? Tried what suggested in that Jira too but it is not working.", "created": "2018-03-24T07:27:00.000000"}, {"author": "557058:c3f688dc-c97c-4198-862f-154955399e81", "body": "Any update please", "created": "2018-03-27T02:54:00.000000"}, {"author": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "body": "[~accountid:557058:c3f688dc-c97c-4198-862f-154955399e81] the error message at the top of the stack trace indicates that the puppetserver cannot access {{/etc/puppetlabs/puppet/ssl/crl.pem}}, probably due to file system permissions or ownership.  Can you please provide {{ls -alR /etc/puppetlabs}} and also the output of {{getenforce}} to ensure that selinux is not preventing this?", "created": "2018-03-29T15:55:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "Two other bits that I noticed reading through this...\n\n# I see {{root@practitioner.master:~# rm -rf $(puppet master --configprint ssldir)}}. If you delete the ssldir on an existing PE master (ie the CA) you're going to have a lot of other problems down the road even after you've got the CRL figured out. At that point I'd recommend just re-installing PE on a clean node.\n# With a hostname of practitioner.master/agent - are you using the learning VM? Or any of our other educational materials? There could be a bug in some of their setup scripts and if so we may want to coordinate with them.", "created": "2018-03-29T22:44:00.000000"}, {"author": "557058:c3f688dc-c97c-4198-862f-154955399e81", "body": "[~accountid:70121:199f31c7-67c7-42b0-b148-18ad3a391ab0] Shall get back to you later tonight.\n\n[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] \"practitioner.master/agent\" , it is not a learning VM. It a fresh build of CentOS 7, with puppet enterprise agent installed.", "created": "2018-04-05T22:18:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "[~accountid:557058:c3f688dc-c97c-4198-862f-154955399e81] did you ever figure this out?\n\nCan the puppetserver process (pe-puppet user) read {{/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem}}? Can it write to {{/etc/puppetlabs/puppet/ssl/}}? It looks like {{/etc/puppetlabs/puppet/ssl/crl.pem}} doesn't exist? If that's true can you copy the file from {{/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem}} to {{/etc/puppetlabs/puppet/ssl/crl.pem}} and chown/chmod it so that the pe-puppet user can read/write it?", "created": "2020-08-25T16:40:00.000000"}, {"author": "557058:55b23daa-f1aa-41fd-b10d-bf49a61932da", "body": "User hasn't responded in several years, so this no longer seems important. If this comes up again, please re-open with the requested info.", "created": "2022-02-09T11:39:00.000000"}], "components": ["Puppet Server"], "created": "2018-03-24T07:25:00.000000", "creator": "557058:c3f688dc-c97c-4198-862f-154955399e81", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6c5e73cf"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyk48n:q0200000jr0ua6"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "29/Mar/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_462559143_*|*_6_*:*_1_*:*_0_*|*_10004_*:*_2_*:*_122071425800"}], "description": "Puppetserver is unable to start, missing some crl.pem file. Stack trace below:\n\n{noformat}\n2018-03-24 23:58:40,005 INFO  [main] [o.e.j.u.log] Logging initialized @32166ms\n2018-03-24 23:58:49,399 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Initializing web server(s).\n2018-03-24 23:58:49,579 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'pe-puppet-profiler', version 2017.2.0.9\n2018-03-24 23:58:49,583 INFO  [async-dispatch-2] [p.s.j.jruby-puppet-service] Initializing the JRuby service\n2018-03-24 23:58:49,633 INFO  [async-dispatch-2] [p.s.j.jruby-pool-manager-service] Initializing the JRuby service\n2018-03-24 23:58:49,701 INFO  [clojure-agent-send-pool-0] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.\n2018-03-24 23:58:49,751 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'pe-jruby-metrics', version 2017.2.0.9\n2018-03-24 23:59:15,084 WARN  [clojure-agent-send-pool-0] [puppetserver] Puppet Support for ruby version 1.9.3 is deprecated and will be removed in a future release. See https://docs.puppet.com/puppet/latest/system_requirements.html#ruby for a list of supported ruby versions.\n   (at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:180:in `Puppet')\n2018-03-24 23:59:15,221 INFO  [clojure-agent-send-pool-0] [puppetserver] Puppet Puppet settings initialized; run mode: master\n2018-03-24 23:59:17,168 INFO  [clojure-agent-send-pool-0] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1\n2018-03-24 23:59:17,171 INFO  [async-dispatch-2] [p.s.c.puppet-server-config-core] Not overriding webserver settings with values from core Puppet\n2018-03-24 23:59:17,199 INFO  [async-dispatch-2] [p.p.certificate-authority] CA already initialized for SSL\n2018-03-24 23:59:17,202 INFO  [async-dispatch-2] [p.s.c.certificate-authority-service] CA Service adding a ring handler\n2018-03-24 23:59:17,328 INFO  [async-dispatch-2] [p.s.p.puppet-admin-service] Starting Puppet Admin web app\n2018-03-24 23:59:17,401 INFO  [async-dispatch-2] [p.s.v.versioned-code-service] No code-id-command set for versioned-code-service. Code-id will be nil.\n2018-03-24 23:59:17,401 INFO  [async-dispatch-2] [p.s.v.versioned-code-service] No code-content-command set for versioned-code-service. Attempting to fetch code content will fail.\n2018-03-24 23:59:25,131 INFO  [async-dispatch-2] [p.e.s.m.master-service] Master Service adding a ring handler\n2018-03-24 23:59:25,133 INFO  [async-dispatch-2] [p.t.s.s.status-service] Registering status callback function for service 'pe-master', version 2017.2.0.9\n2018-03-24 23:59:25,234 WARN  [async-dispatch-2] [o.e.j.s.h.ContextHandler] Empty contextPath\n2018-03-24 23:59:25,250 INFO  [async-dispatch-2] [p.t.s.w.jetty9-service] Starting web server(s).\n2018-03-24 23:59:25,346 ERROR [async-dispatch-2] [p.t.internal] Error during service start!!!\njava.lang.IllegalArgumentException: Non-readable path specified for ssl-crl-path option: /etc/puppetlabs/puppet/ssl/crl.pem\n        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\n        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\n        at clojure.lang.Reflector.invokeConstructor(Reflector.java:180)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28617$get_ssl_crl_path_BANG___28622$fn__28623.invoke(jetty9_config.clj:324)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28617$get_ssl_crl_path_BANG___28622.invoke(jetty9_config.clj:317)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28791$maybe_get_https_connector__28796$fn__28797.invoke(jetty9_config.clj:397)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28791$maybe_get_https_connector__28796.invoke(jetty9_config.clj:384)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28842$maybe_add_https_connector__28847$fn__28848.invoke(jetty9_config.clj:411)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28842$maybe_add_https_connector__28847.invoke(jetty9_config.clj:407)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28868$process_config__28873$fn__28874.invoke(jetty9_config.clj:432)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_config$eval28868$process_config__28873.invoke(jetty9_config.clj:427)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30024$create_webserver__30029$fn__30030.invoke(jetty9_core.clj:645)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30024$create_webserver__30029.invoke(jetty9_core.clj:603)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30053$start_webserver_BANG___30058$fn__30059.invoke(jetty9_core.clj:683)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30053$start_webserver_BANG___30058.invoke(jetty9_core.clj:678)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$start_server_multiple$iter__30340__30344$fn__30345.invoke(jetty9_core.clj:936)\n        at clojure.lang.LazySeq.sval(LazySeq.java:40)\n        at clojure.lang.LazySeq.seq(LazySeq.java:49)\n        at clojure.lang.RT.seq(RT.java:521)\n        at clojure.core$seq__4357.invokeStatic(core.clj:137)\n        at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24)\n        at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75)\n        at clojure.core.protocols$fn__6738.invoke(protocols.clj:75)\n        at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13)\n        at clojure.core$reduce.invokeStatic(core.clj:6545)\n        at clojure.core$into.invokeStatic(core.clj:6610)\n        at clojure.core$into.invoke(core.clj:6604)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$start_server_multiple.invokeStatic(jetty9_core.clj:937)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$start_server_multiple.invoke(jetty9_core.clj:933)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30494$start_BANG___30499$fn__30500.invoke(jetty9_core.clj:1027)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_core$eval30494$start_BANG___30499.invoke(jetty9_core.clj:1021)\n        at puppetlabs.trapperkeeper.services.webserver.jetty9_service$reify__30901$service_fnk__5261__auto___positional$reify__30908.start(jetty9_service.clj:55)\n        at puppetlabs.trapperkeeper.services$eval5063$fn__5077$G__5053__5080.invoke(services.clj:8)\n        at puppetlabs.trapperkeeper.services$eval5063$fn__5077$G__5052__5084.invoke(services.clj:8)\n        at puppetlabs.trapperkeeper.internal$eval13831$run_lifecycle_fn_BANG___13838$fn__13839.invoke(internal.clj:204)\n        at puppetlabs.trapperkeeper.internal$eval13831$run_lifecycle_fn_BANG___13838.invoke(internal.clj:187)\n        at puppetlabs.trapperkeeper.internal$eval13860$run_lifecycle_fns__13865$fn__13866.invoke(internal.clj:238)\n        at puppetlabs.trapperkeeper.internal$eval13860$run_lifecycle_fns__13865.invoke(internal.clj:215)\n        at puppetlabs.trapperkeeper.internal$eval14330$build_app_STAR___14339$fn$reify__14349.start(internal.clj:591)\n        at puppetlabs.trapperkeeper.internal$eval14376$boot_services_for_app_STAR__STAR___14383$fn__14384$fn__14386.invoke(internal.clj:617)\n        at puppetlabs.trapperkeeper.internal$eval14376$boot_services_for_app_STAR__STAR___14383$fn__14384.invoke(internal.clj:615)\n        at puppetlabs.trapperkeeper.internal$eval14376$boot_services_for_app_STAR__STAR___14383.invoke(internal.clj:609)\n        at clojure.core$partial$fn__4761.invoke(core.clj:2521)\n        at puppetlabs.trapperkeeper.internal$eval13899$initialize_lifecycle_worker__13910$fn__13911$fn__13997$state_machine__11871__auto____13998$fn__14000.invoke(internal.clj:255)\n        at puppetlabs.trapperkeeper.internal$eval13899$initialize_lifecycle_worker__13910$fn__13911$fn__13997$state_machine__11871__auto____13998.invoke(internal.clj:255)\n        at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:1012)\n        at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:1011)\n        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:1016)\n        at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:1014)\n        at clojure.core.async$ioc_alts_BANG_$fn__12039.invoke(async.clj:383)\n        at clojure.core.async$do_alts$fn__11985$fn__11988.invoke(async.clj:252)\n        at clojure.core.async.impl.channels.ManyToManyChannel$fn__6795$fn__6796.invoke(channels.clj:95)\n        at clojure.lang.AFn.run(AFn.java:22)\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n        at java.lang.Thread.run(Thread.java:748)\n2018-03-24 23:59:25,358 INFO  [main] [p.t.internal] Beginning shutdown sequence\n2018-03-24 23:59:25,608 INFO  [async-dispatch-3] [p.e.s.j.pe-jruby-metrics-service] PE JRuby Metrics Service: stopping metrics sampler job\n2018-03-24 23:59:25,611 INFO  [async-dispatch-3] [p.e.s.j.pe-jruby-metrics-service] PE JRuby Metrics Service: stopped metrics sampler job\n2018-03-24 23:59:25,655 INFO  [clojure-agent-send-pool-1] [p.s.j.i.jruby-agents] Flush request received; creating new JRuby pool.\n2018-03-24 23:59:25,659 INFO  [clojure-agent-send-pool-1] [p.s.j.i.jruby-agents] Replacing old JRuby pool with new instance.\n2018-03-24 23:59:25,659 INFO  [clojure-agent-send-pool-1] [p.s.j.i.jruby-agents] Swapped JRuby pools, beginning cleanup of old pool.\n2018-03-24 23:59:25,680 INFO  [clojure-agent-send-pool-1] [p.s.j.i.jruby-internal] Cleaned up old JRubyInstance with id 1.\n2018-03-24 23:59:25,707 INFO  [async-dispatch-3] [p.t.s.w.jetty9-service] Shutting down web server(s).\n2018-03-24 23:59:25,751 INFO  [clojure-agent-send-off-pool-0] [p.t.s.w.filesystem-watch-core] Closing watcher puppetlabs.trapperkeeper.services.watcher.filesystem_watch_core.WatcherImpl@c13ddd42\n2018-03-24 23:59:25,766 INFO  [main] [p.t.internal] Finished shutdown sequence\n{noformat}\n\n\nI tried a lot of things but cannot get it working\n\n{noformat}\nroot@practitioner.master:~# ls /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\n+ ls --color=auto /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\n/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\n++ printf '\\033]0;%s@%s:%s\\007' root practitioner '~'\nroot@practitioner.master:~# ls /etc/puppetlabs/puppet/ssl/crl.pem\n+ ls --color=auto /etc/puppetlabs/puppet/ssl/crl.pem\nls: cannot access /etc/puppetlabs/puppet/ssl/crl.pem: No such file or directory\n++ printf '\\033]0;%s@%s:%s\\007' root practitioner '~'\nroot@practitioner.master:~# cp -apvf /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem /etc/puppetlabs/puppet/ssl/crl.pem\n+ cp -i -apvf /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem /etc/puppetlabs/puppet/ssl/crl.pem\n\u2018/etc/puppetlabs/puppet/ssl/ca/ca_crl.pem\u2019 -> \u2018/etc/puppetlabs/puppet/ssl/crl.pem\u2019\n++ printf '\\033]0;%s@%s:%s\\007' root practitioner '~'\nroot@practitioner.master:~# systemctl stop  pe-puppetserver\n+ systemctl stop pe-puppetserver\n++ printf '\\033]0;%s@%s:%s\\007' root practitioner '~'\nroot@practitioner.master:~# puppet cert --list --all\n+ puppet cert --list --all\n+ \"practitioner.master\" (SHA256) 68:06:00:AA:D8:3B:DF:40:D4:E6:CF:17:48:91:27:28:01:C0:AC:81:08:96:6C:57:2B:0D:D4:80:E8:C4:56:FD\n++ printf '\\033]0;%s@%s:%s\\007' root practitioner '~'\nroot@practitioner.master:~# set +x\n+ set +x\nroot@practitioner.master:~# puppet cert --list --all\n+ \"practitioner.master\" (SHA256) 68:06:00:AA:D8:3B:DF:40:D4:E6:CF:17:48:91:27:28:01:C0:AC:81:08:96:6C:57:2B:0D:D4:80:E8:C4:56:FD\n(reverse-i-search)`rm ': rm -rf /var/lib/puppet/ssl\nroot@practitioner.master:~# rm -rf $(puppet master --configprint ssldir)\nroot@practitioner.master:~# puppet cert --list --all\nNotice: Signed certificate request for ca\nroot@practitioner.master:~# puppet cert --list --all\nroot@practitioner.master:~# systemctl status pe-puppetserver\n\u25cf pe-puppetserver.service - pe-puppetserver Service\n   Loaded: loaded (/usr/lib/systemd/system/pe-puppetserver.service; enabled; vendor preset: disabled)\n   Active: failed (Result: exit-code) since Sat 2018-03-24 23:55:19 AEDT; 2min 19s ago\n  Process: 12123 ExecStop=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver stop (code=exited, status=0/SUCCESS)\n  Process: 14714 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=1/FAILURE)\n Main PID: 10501 (code=exited, status=143)\n\nMar 24 23:54:36 practitioner.master systemd[1]: pe-puppetserver.service holdoff time over, scheduling restart.\nMar 24 23:54:36 practitioner.master systemd[1]: Starting pe-puppetserver Service...\nMar 24 23:55:18 practitioner.master puppetserver[14714]: Startup script was terminated before completion\nMar 24 23:55:19 practitioner.master systemd[1]: pe-puppetserver.service: control process exited, code=exited status=1\nMar 24 23:55:19 practitioner.master systemd[1]: Stopped pe-puppetserver Service.\nMar 24 23:55:19 practitioner.master systemd[1]: Unit pe-puppetserver.service entered failed state.\nMar 24 23:55:19 practitioner.master systemd[1]: pe-puppetserver.service failed.\nroot@practitioner.master:~# systemctl status puppet\n\u25cf puppet.service - Puppet agent\n   Loaded: loaded (/usr/lib/systemd/system/puppet.service; enabled; vendor preset: disabled)\n   Active: inactive (dead) since Sat 2018-03-24 23:39:46 AEDT; 18min ago\n Main PID: 10927 (code=exited, status=0/SUCCESS)\n\nMar 24 23:30:31 practitioner.master puppet-agent[10934]: (/Stage[main]/Puppet_enterprise::Profile::Orchestrator/Puppet_enterprise:...\nMar 24 23:30:31 practitioner.master puppet-agent[10934]: (/Stage[main]/Puppet_enterprise::Profile::Orchestrator/Puppet_enterp... true\nMar 24 23:30:31 practitioner.master puppet-agent[10934]: (/Stage[main]/Puppet_enterprise::Profile::Orchestrator/Puppet_enterp...ncies\nMar 24 23:30:31 practitioner.master puppet-agent[10934]: (/Stage[main]/Puppet_enterprise::Profile::Orchestrator/Puppet_enterp... true\nMar 24 23:30:31 practitioner.master puppet-agent[10934]: (/Stage[main]/Puppet_enterprise::Profile::Orchestrator/Puppet_enterp...ncies\nMar 24 23:30:32 practitioner.master puppet-agent[10934]: Applied catalog in 140.02 seconds\nMar 24 23:30:32 practitioner.master puppet-agent[10934]: Could not send report: SSL_connect returned=1 errno=0 state=error: c...ster]\nMar 24 23:39:46 practitioner.master puppet-agent[10927]: Caught TERM; exiting\nMar 24 23:39:46 practitioner.master systemd[1]: Stopping Puppet agent...\nMar 24 23:39:46 practitioner.master systemd[1]: Stopped Puppet agent.\nHint: Some lines were ellipsized, use -l to show in full.\nroot@practitioner.master:~# systemctl restart pe-puppetserver\nJob for pe-puppetserver.service failed because the control process exited with error code. See \"systemctl status pe-puppetserver.service\" and \"journalctl -xe\" for details.\nroot@practitioner.master:~# systemctl status pe-puppetserver.service\n\u25cf pe-puppetserver.service - pe-puppetserver Service\n   Loaded: loaded (/usr/lib/systemd/system/pe-puppetserver.service; enabled; vendor preset: disabled)\n   Active: activating (start) since Sat 2018-03-24 23:59:26 AEDT; 1min 0s ago\n  Process: 12123 ExecStop=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver stop (code=exited, status=0/SUCCESS)\n Main PID: 10501 (code=exited, status=143);         : 15177 (bash)\n   CGroup: /system.slice/pe-puppetserver.service\n           \u251c\u250015177 bash /opt/puppetlabs/server/apps/puppetserver/cli/apps/start\n           \u251c\u250015184 /opt/puppetlabs/server/bin/java -Xms2048m -Xmx2048m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/log...\n           \u2514\u250015391 sleep 1\n\nMar 24 23:59:26 practitioner.master systemd[1]: pe-puppetserver.service holdoff time over, scheduling restart.\nMar 24 23:59:26 practitioner.master systemd[1]: Starting pe-puppetserver Service...\n{noformat}\n\nPlease assist as I'm lost.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16332", "fixedVersions": [], "id": "16332", "issueType": "Task", "key": "SERVER-2162", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Blocker", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c3f688dc-c97c-4198-862f-154955399e81", "resolution": "Cannot Reproduce", "resolutionDate": "2022-02-09T11:39:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "puppetserver crashes and unable to start", "timeSpent": "PT0S", "updated": "2022-02-09T11:39:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "attachments": [], "comments": [{"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "/cc [~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e] Don't know if this is a helpful way to track this or not but we'll want to call out compat issues discovered with JRuby 9k in a big way for folks. This (third party gems) seems like a family of compat issues that we'll see.", "created": "2018-03-23T13:55:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e] do you have the information you need here?", "created": "2018-04-09T08:46:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "I see one known issue in this ticket. [~accountid:557058:104b5720-714d-4539-b455-df472251ec89] are we expecting to hear more before the 5.3.1 release?", "created": "2018-04-09T10:51:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "No, no one's reported any other issues. So hopefully we're in the clear for the release.", "created": "2018-04-09T11:12:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578] Then it sounds like I've got what I need here.", "created": "2018-04-09T12:01:00.000000"}, {"author": "557058:836ef76e-8051-48a3-8dc7-005f79695b0e", "body": "[~accountid:557058:3da95088-202d-4082-a15a-eb2e812f2578] I'm not sure how to handle this ticket because the scope is open-ended.\n\n[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] Is this ticket intended to be kept open to capture future issues or complaints beyond today's release?", "created": "2018-04-17T09:52:00.000000"}, {"author": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "body": "This was intended to be a catch all, though I think we can say the timeframe we were expecting it catch things in has ended.", "created": "2018-04-17T10:16:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:104b5720-714d-4539-b455-df472251ec89] [~accountid:557058:836ef76e-8051-48a3-8dc7-005f79695b0e] can this be resolved/closed now that 5.3.1 has shipped?", "created": "2018-04-19T12:20:00.000000"}], "components": ["DOCS", "Puppet Server"], "created": "2018-03-23T13:53: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@5968e90d"}, {"fieldName": "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": "SERVER-2151"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzkv7j:"}, {"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": "See the ticket description, which will be updated with known issues and workarounds."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1462130848_*|*_10009_*:*_1_*:*_182157626_*|*_5_*:*_1_*:*_305579_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_683455910_*|*_10005_*:*_1_*:*_9654"}], "description": "This is a ticket to track issues that we or the community run into with gem dependencies when switching from JRuby 1.7 to JRuby 9k. Please edit the description to keep it current with the known issues.\n\n*Problem: Autosign 0.1.2/Yard 0.8.x*\nYard's rubygem integration is incompatible with the rubygems version we ship with 9k. It seems to cause a warning printed during {{puppetserver gem list}} (called during puppet runs applying updates via the {{puppetserver_gem}} provider). In our case this is caused by using autosign 0.1.2. Upgrading to autosign 0.1.3 bumps the yard requirement to a version compatible with the rubygems we ship in 9k based puppetserver.\n\n*Solution:*\nUpgrade yard to a 0.9.x version and look at bumping any server side gems that require yard 0.8.x. The autosign gem specifically should be at >= 0.1.3.", "epicLinkSummary": "JRuby in the Wild", "estimate": "PT0S", "externalId": "16524", "fixedVersions": ["SERVER 5.3.1"], "id": "16524", "issueType": "Task", "key": "SERVER-2161", "labels": [], "originalEstimate": "PT0S", "parent": "15501", "parentSummary": "JRuby in the Wild", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:2249d8e6-5f8c-489f-942b-1c2739792d34", "resolution": "Fixed", "resolutionDate": "2018-04-19T12:28:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Document issues with third party gems when upgrading 9k", "timeSpent": "PT0S", "updated": "2018-04-19T12:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "This will necessitate a 2.0.0 release of jruby-utils.", "created": "2018-03-28T12:03:00.000000"}], "components": [], "created": "2018-03-21T11:22: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@5fd57853"}, {"fieldName": "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": "SERVER-2155"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1db:"}, {"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_*:*_17800811_*|*_1_*:*_1_*:*_601656966_*|*_10007_*:*_3_*:*_769655385_*|*_3_*:*_1_*:*_5206392_*|*_5_*:*_1_*:*_14338285078_*|*_6_*:*_1_*:*_0"}], "description": "SERVER-2095 removed JRuby 1.7 from puppetserver, making it always run with JRuby 9k. We should update any logic in jruby-utils designed to configure things differently between 1.7 and 9k, to instead just select values for 9k. One example is https://github.com/puppetlabs/jruby-utils/blob/6a77927e73c9fcade6265f8044242224565f1ace/src/clj/puppetlabs/services/jruby_pool_manager/jruby_core.clj#L24-L29.", "epicLinkSummary": "Remove JRuby 1.7", "estimate": "PT0S", "externalId": "14772", "fixedVersions": ["SERVER 6.0.0"], "id": "14772", "issueType": "Task", "key": "SERVER-2160", "labels": [], "originalEstimate": "PT0S", "parent": "16520", "parentSummary": "Remove JRuby 1.7", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "resolution": "Fixed", "resolutionDate": "2018-04-06T14:41:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove 1.7 vs 9k logic from jruby-utils", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:d494f5f9-7e70-4298-bf72-c8f9e7cca4db", "body": "Debian 7 is not currently being used in the puppetserver pipelines, so this ticket does not require any action.", "created": "2018-04-26T11:50:00.000000"}], "components": [], "created": "2018-03-20T20:14: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@4cc7fc23"}, {"fieldName": "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": "CPR-522"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzksnz:"}, {"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/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_3166535756_*|*_6_*:*_1_*:*_0"}], "description": "Platform needs to be removed from puppetserver pipelines.\n", "epicLinkSummary": "Remove Debian 7 (i386, amd64)", "estimate": "PT0S", "externalId": "16522", "fixedVersions": [], "id": "16522", "issueType": "Task", "key": "SERVER-2159", "labels": [], "originalEstimate": "PT0S", "parent": "60064", "parentSummary": "Remove Debian 7 (i386, amd64)", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:3bbf1c83-df0e-4372-887d-cfc38dee9330", "resolution": "Won't Do", "resolutionDate": "2018-04-26T11:50:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove Debian 7 (i386, amd64) from puppetserver pipelines", "timeSpent": "PT0S", "updated": "2018-04-26T11:50:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": ["Puppet Server"], "created": "2018-03-20T14:55:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@ce8edd6"}, {"fieldName": "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": "SERVER-2155"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2rj:"}, {"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": "Puppet Server now bundles its JRuby jar inside the main uberjar. This means the JRUBY_JAR setting is no longer valid, and a warning will be issued if it is set."}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1211011673_*|*_10007_*:*_1_*:*_419305430_*|*_3_*:*_1_*:*_83100488_*|*_6_*:*_1_*:*_0"}], "description": "Since we don't need to choose the jruby version anymore we could ship this directly now and it will make AOT easier.\n\n\u00a0\n\nThis should also remove support for JRUBY_JAR and issue a warning if it is set.", "epicLinkSummary": "Remove JRuby 1.7", "estimate": "PT0S", "externalId": "16331", "fixedVersions": ["SERVER 6.0.0"], "id": "16331", "issueType": "Improvement", "key": "SERVER-2157", "labels": [], "originalEstimate": "PT0S", "parent": "16520", "parentSummary": "Remove JRuby 1.7", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Fixed", "resolutionDate": "2018-04-09T10:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Package jruby in puppetserver jar", "timeSpent": "PT0S", "updated": "2018-04-09T10:52:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "Not sure if we'll get around to doing that, may want to move it out of there and resolve this.", "created": "2018-07-30T12:43:00.000000"}], "components": ["Puppet Server"], "created": "2018-03-20T11:34:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@740fec1a"}, {"fieldName": "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": "Remove JRuby 1.7"}, {"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": "dark_teal"}, {"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|hynbof:"}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "30/Jul/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_1912274744_*|*_6_*:*_1_*:*_0_*|*_10013_*:*_1_*:*_9496671856"}], "description": "In Server 6 we will only support JRuby 9k", "duedate": "2018-06-13T00:00:00.000000", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16520", "fixedVersions": ["SERVER 6.0.0"], "id": "16520", "issueType": "Epic", "key": "SERVER-2155", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Critical", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Done", "resolutionDate": "2018-07-30T12:44:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Remove JRuby 1.7", "timeSpent": "PT0S", "updated": "2019-07-16T17:48:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [], "components": [], "created": "2018-03-19T17:07:00.000000", "creator": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@40637136"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl1dj:"}, {"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_*:*_150684179_*|*_1_*:*_1_*:*_778359095_*|*_10007_*:*_1_*:*_514975565_*|*_3_*:*_1_*:*_551879_*|*_5_*:*_1_*:*_14440123274_*|*_6_*:*_1_*:*_0"}], "description": "Same as the puppet3 and pupp4 compat tests.\n\n\u00a0", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "16755", "fixedVersions": ["SERVER 6.0.0"], "id": "16755", "issueType": "Task", "key": "SERVER-2154", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "resolution": "Fixed", "resolutionDate": "2018-09-19T13:32:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Add acceptance tests for puppet 5 agent communicating with puppetserver 6", "timeSpent": "PT0S", "updated": "2018-09-19T13:32:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "attachments": [], "comments": [{"author": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "body": "This feature is being considered so Irving can support cross platform tasks", "created": "2018-03-20T12:55:00.000000"}, {"author": "557058:3da95088-202d-4082-a15a-eb2e812f2578", "body": "[~accountid:557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52] please provide release notes for this issue if needed, thanks!", "created": "2018-09-12T07:22:00.000000"}], "components": [], "created": "2018-03-19T10:55: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@566c8339"}, {"fieldName": "Epic/Theme", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Capitalized?", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:select", "value": "Yes"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzonxj:"}, {"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": "Puppet Server now supports task implementations, as described in https://github.com/puppetlabs/puppet-specifications/tree/master/tasks#task-implementations."}, {"fieldName": "[CHART] Date of First Response", "fieldType": "com.atlassian.jira.ext.charting:firstresponsedate", "value": "09/Apr/18"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "10008_*:*_1_*:*_277581749_*|*_1_*:*_1_*:*_12273504840_*|*_10007_*:*_2_*:*_514748413_*|*_3_*:*_2_*:*_1121245118_*|*_10009_*:*_1_*:*_602145008_*|*_5_*:*_1_*:*_179090843_*|*_6_*:*_1_*:*_0_*|*_10011_*:*_1_*:*_939012787"}], "description": "In order to support cross platform tasks puppet-server must list tasks with multiple implementations and include file metadata for all implementations of a task.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15098", "fixedVersions": ["SERVER 6.0.0"], "id": "15098", "issueType": "New Feature", "key": "SERVER-2156", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:d2f4e3cd-249f-4cc2-8a57-23433aeefb52", "resolution": "Fixed", "resolutionDate": "2018-09-17T11:52:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Puppet server should include file metadata for all implementations of a task", "timeSpent": "PT0S", "updated": "2018-09-19T13:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-03-16T15:12:00.000000", "creator": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@6ee50e5f"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzsuaf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_19881154360_*|*_6_*:*_1_*:*_0_*|*_10006_*:*_1_*:*_2152710146_*|*_10005_*:*_1_*:*_100752125635"}], "description": "The pe-puppet-server-extensions acceptance tests take quite a bit of time. The server acceptance tests are run and take about 1hr30m, followed by the file sync suite which takes about 1h15m.\n\nTalking to [~accountid:557058:104b5720-714d-4539-b455-df472251ec89], it sounds like there's opportunity for us to reduce the test time by rearranging coverage. There are some high-level acceptance tests that test file sync-specific behavior, and apparently the suite is better at testing LEI's functionality than the LEI tests are (which only set up LEI). We should probably rearrange some of these tests to get them to live in a more appropriate place.\n\nAs for the server suite, those tests are apparently largely identical to the ones in FOSS, just run in a PE context, but there's still room for auditing for ones to get rid of! Double the gains!", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16753", "fixedVersions": [], "id": "16753", "issueType": "Task", "key": "SERVER-2153", "labels": ["final_triage"], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "resolution": "Won't Do", "resolutionDate": "2022-02-04T17:25:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reduce puppet server acceptance test time", "timeSpent": "PT0S", "updated": "2022-02-04T17:25:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": null, "attachments": [], "comments": [], "components": [], "created": "2018-03-15T17:41:00.000000", "creator": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "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": "Froyo"}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@58a84bed"}, {"fieldName": "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-8"}, {"fieldName": "Epic Name", "fieldType": "com.pyxis.greenhopper.jira:gh-epic-label", "value": "JRuby in the Wild"}, {"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": "dark_purple"}, {"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|hzkpqf:"}, {"fieldName": "[CHART] Time in Status", "fieldType": "com.atlassian.jira.ext.charting:timeinstatus", "value": "1_*:*_1_*:*_124412164571_*|*_6_*:*_1_*:*_0"}], "description": "A place to keep track of issues we encounter using JRuby in non-simulated environments, and how we can improve our simulated perf environments to measure changes.", "epicLinkSummary": null, "estimate": "PT0S", "externalId": "15501", "fixedVersions": [], "id": "15501", "issueType": "Epic", "key": "SERVER-2151", "labels": [], "originalEstimate": "PT0S", "parent": null, "parentSummary": null, "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "resolution": "Done", "resolutionDate": "2022-02-22T15:37:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "JRuby in the Wild", "timeSpent": "PT0S", "updated": "2022-02-22T15:37:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:40232c77-9d9b-410c-9f53-90adbf41eeb9", "attachments": [], "comments": [], "components": [], "created": "2018-03-15T17:06:00.000000", "creator": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": ["server"]}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@687cbdd7"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hzkfiv:"}, {"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_*:*_11302_*|*_1_*:*_1_*:*_2705046_*|*_3_*:*_1_*:*_246193955_*|*_6_*:*_1_*:*_0_*|*_10005_*:*_1_*:*_343136145"}], "description": "- Redo JRuby testing to emphasize testing 9 more than 1.7, make it default, run it more often if periodic jobs", "epicLinkSummary": "Improve Froyo Component CI", "estimate": "PT0S", "externalId": "16330", "fixedVersions": ["SERVER 6.0.0"], "id": "16330", "issueType": "Task", "key": "SERVER-2149", "labels": [], "originalEstimate": "PT0S", "parent": "17104", "parentSummary": "Improve Froyo Component CI", "priority": "Normal", "projectDescription": null, "projectKey": "SERVER", "projectLead": "70121:199f31c7-67c7-42b0-b148-18ad3a391ab0", "projectName": "Puppet Server (Archived)", "projectType": "software", "projectUrl": null, "reporter": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "resolution": "Fixed", "resolutionDate": "2018-03-22T13:34:00.000000", "status": "Closed", "statusCategory": "Done", "statuscategorychangedate": "11/Mar/23 9:21 AM", "summary": "Reorganize CI for Puppet 6", "timeSpent": "PT0S", "updated": "2018-03-22T13:34:00.000000", "votes": "0", "watchers": []}, {"affectedVersions": [], "assignee": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "attachments": [], "comments": [{"author": "557058:c241032a-c552-4408-9a96-dcd5a643ff69", "body": "I'm thinking we should always test on all the platforms: there doesn't seem to be a noticeable time difference between the two layouts we're currently using, and we have enough CI capacity now to handle the ~12 platforms on a mergely basis. If we do that, I think we can bring the periodic pipeline's frequency down quite a bit, say weekly. I think it's important to keep around, because on some branches we may not be merging any code changes, but changes might be landing in the equivalent puppet branch that need to be tested in the server.", "created": "2018-03-26T14:40:00.000000"}], "components": ["Puppet Server"], "created": "2018-03-15T17:05:00.000000", "creator": "557058:6e79b811-3a3e-4713-9f4e-ef17b127b24f", "customFieldValues": [{"fieldName": "Sub-team", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:labels", "value": []}, {"fieldName": "Approvals", "fieldType": "com.atlassian.servicedesk.approvals-plugin:sd-approvals", "value": "com.atlassian.servicedesk.plugins.approvals.internal.customfield.ApprovalsCFValue@3528defe"}, {"fieldName": "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": "SERVER-2117"}, {"fieldName": "People Involved", "fieldType": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker", "value": []}, {"fieldName": "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|hyl2rb:"}, {"fieldName": "Release Notes", 